Cours VBA Gratuit
Cours VBA Gratuit
Cours VBA Gratuit
LEÇON 1
Introduction
Première macro
LEÇON 2
Les sélections
Les propriétés
Les couleurs
LEÇON 3
Les variables
Les variables (partie 2)
LEÇON 4
Les conditions
Les conditions (partie 2)
LEÇON 5
Les boucles
Les boucles (exercice)
LEÇON 6
Les procédures et fonctions
LEÇON 7
Les boîtes de dialogue
LEÇON 8
Les événements Workbook
Les événements Worksheet
LEÇON 9
Les formulaires et contrôles
Les formulaires et contrôles (partie 2)
Les formulaires et contrôles (partie 3)
Les formulaires et contrôles (partie 4)
Les formulaires et contrôles (exercice)
LEÇON 10
Les tableaux
Les tableaux (partie 2)
Les tableaux (exercice)
LEÇON 11
Utilisations des fonctions
Création d'une fonction personnalisée
RESSOURCES VBA
Fonctions VBA
Astuces VBA
LEÇON 1
1-Introduction
Le VBA (Visual Basic for Applications) est un langage proche du
Visual Basic qui nécessite une application hôte pour s'exécuter
(Excel dans notre cas).
Grâce au VBA nous allons pouvoir réaliser à peu près tout ce que
l'on souhaite avec Excel ...
Mais avant de démarrer, commençons par afficher les outils qui
nous seront utiles.
2-Première macro
Il est possible d'automatiser certaines tâches en toute simplicité
grâce à l'enregistreur de macros.
1-Les sélections
Nous allons créer une macro qui sélectionnera une cellule de notre
choix.
Sub exemple()
End Sub
Créez maintenant un bouton de formulaire auquel vous allez
associer cette macro (vide pour le moment) :
Sub exemple()
'Sélection de la cellule A8
Range("A8").Select
End Sub
Sub exemple()
'Activation de la feuille 2
Sheets("Feuil2").Activate
'Sélection de la cellule A8
Range("A8").Select
End Sub
End Sub
End Sub
End Sub
SÉLECTION D'UNE CELLULE EN FONCTION
D'UN NUMÉRO DE LIGNE ET DE COLONNE
Sub exemple()
End Sub
Sub exemple()
'Traduction :
'Cells([nombre_aléatoire_entre_1_et_10], 1).Select
End Sub
SÉLECTION DE LIGNES
Il est possible de sélectionner des lignes entières
avec Range ou Rows (Rows étant spécifique aux lignes) :
Sub exemple()
End Sub
Sub exemple()
End Sub
SÉLECTION DE COLONNES
Tout comme pour les lignes, il est possible de sélectionner des
colonnes entières avec Range ou Columns (Columns étant
spécifique aux colonnes) :
Sub exemple()
End Sub
Sub exemple()
End Sub
2-Les propriétés
Nous allons maintenant agir sur le contenu et l'apparence des
cellules et des feuilles.
Sub proprietes()
'Macro incomplète
Range("A8")
End Sub
Sub proprietes()
'Macro incomplète
Range("A8").Value
End Sub
Sub proprietes()
'Cellule A8 = 48
Range("A8").Value = 48
'Traduction :
'La valeur de la cellule A8 est désormais : 48
End Sub
Puis, la valeur Exemple de texte à A8 (le texte doit être mis entre "
") :
Sub proprietes()
End Sub
Sub proprietes()
End Sub
Sub proprietes()
End Sub
Bien que Value ait été utilisé pour illustrer ces différents exemples,
il n'est pas nécessaire de l'indiquer, car c'est automatiquement la
valeur de la cellule qui est modifiée si rien n'est précisé.
Range("A8").Value = 48
Range("A8") = 48
MISE EN FORME DU TEXTE
Après avoir sélectionné la propriété Font et ajouté un ., la liste des
propriétés que l'on peut attribuer à la mise en forme du texte
apparaît :
End Sub
End Sub
Sub proprietes()
End Sub
End Sub
End Sub
Sub proprietes()
End Sub
MODIFIER LA MISE EN FORME DE LA
SÉLECTION ACTUELLE
Sub proprietes()
End Sub
End Sub
N'oubliez pas que seule une toute petite partie des possibilités de
personnalisation sont indiquées ici. Si la propriété dont vous avez
besoin n'est pas détaillée sur cette page, n'ayez pas peur d'utiliser
l'enregistreur de macro pour vous éviter de longues recherches (en
enregistrant la manipulation dont vous avez besoin, vous pourrez
retrouver plus facilement la propriété recherchée pour pouvoir
ensuite l'utiliser dans votre macro).
L'objectif ici est que A7 prenne la valeur de A1, ce qui nous donne :
Sub proprietes()
'A7 = A1
Range("A7") = Range("A1")
'Ou :
'Range("A7").Value = Range("A1").Value
End Sub
Sub proprietes()
Range("A7").Font.Size = Range("A1").Font.Size
End Sub
Ce qui est à gauche du = prend la valeur de ce qui est à droite
du =.
Sub proprietes()
'Compteur de clics en A1
Range("A1") = Range("A1") + 1
End Sub
Sub proprietes()
'Un clic a été fait sur le bouton, nous entrons dans la procédure
'Pour le moment A1 vaut encore 10
End Sub
WITH
Ce code permet de définir différentes propriétés à la cellule A8 de la
feuille 2 :
Sub proprietes()
Sheets("Feuil2").Range("A8").Borders.Weight = 3
Sheets("Feuil2").Range("A8").Font.Bold = True
Sheets("Feuil2").Range("A8").Font.Size = 18
Sheets("Feuil2").Range("A8").Font.Italic = True
Sheets("Feuil2").Range("A8").Font.Name = "Arial"
End Sub
Sub proprietes()
End Sub
Sub proprietes()
With Sheets("Feuil2").Range("A8")
.Borders.Weight = 3
With .Font
.Bold = True
.Size = 18
.Italic = True
.Name = "Arial"
End With
End With
End Sub
3-Les couleurs
Nous allons commencer par attribuer une couleur au texte en A1.
COLORINDEX
Voici les 56 couleurs disponibles avec ColorIndex :
Pour appliquer à notre texte l'une de ces 56 couleurs, nous écrirons :
Sub couleurs()
End Sub
COLOR
Voici un exemple similaire avec Color :
Sub couleurs()
End Sub
RGB en français signifie RVB (Rouge Vert Bleu), les valeurs vont de
0 à 255 pour chaque couleur.
RGB(0, 0, 0) : noir
RGB(255, 255, 255) : blanc
RGB(255, 0, 0) : rouge
RGB(0, 255, 0) : vert
RGB(0, 0, 255) : bleu
Vous trouverez par exemple une liste de valeurs RGB sur la page
suivante : liste de valeurs RGB.
Pour donner une couleur violette à notre texte, nous pouvons donc
rechercher les valeurs RGB de cette couleur sur la liste de couleurs
et entrer :
Sub couleurs()
End Sub
Sub couleurs()
'Epaisseur de la bordure
ActiveCell.Borders.Weight = 4
End Sub
Aperçu :
End Sub
Aperçu :
COLORER L'ONGLET D'UNE FEUILLE
Sub couleurs()
End Sub
Aperçu :