Cours de Programmation VBA
Cours de Programmation VBA
Cours de Programmation VBA
Pour faire de la programmation VBA, nous avons besoin de l’éditeur VBA, celui-ci est déjà
installé. Vous pouvez l'ouvrir avec :
L’onglet Développeur > groupe Contrôle > Visualiser le code
Le raccourci "Alt F11" :
Les macros peuvent être placées dans plusieurs endroits, soit dans les feuilles du classeur soit dans un
module pour l’ensemble des feuilles du classeur.
La fenêtre de l’Éditeur VBA apparaît
Pour VBA, un classeur et l’ensemble de ses macros forme un « projet ». L’arborescence de votre projet
doit se terminer par une rubrique Modules.
Chapitre II : Création d’un programme et les éléments de base du langage
1. Création d’un programme
L’objectif est de créer une macro qui sélectionnera une cellule ou plusieurs cellules.
Pour pouvoir créer des macros propres à ses besoins, efficaces et interactives, il faut apprendre
à programmer en VBA.
Nous allons ajouter un nouveau module à l'éditeur VBA qui va vous permettre de coder.
Dans l’onglet Insertion > Module Puis double cliquer ou dans le menu déroulant
Cliquer sur exemple pour associer la macro au bouton ou taper exemple puis enregistrer
Compléter maintenant le code dans l’éditeur.
Vous pouvez tester cette macro en cliquant sur votre bouton de formulaire, la cellule A8 est
alors sélectionnée.
TP1
La propriété Italic permet de faire la mise en forme en italique si elle est à TRUE
Sub proprietesItalic()
'Mettre en italique le contenu de la cellule A8
Range("A8").Font.Italic = True
End Sub
2.
L
Le
tableau ci-dessous résume le type de variable utilisé.
2.1.3. Déclaration des variables
La déclaration de variable explicite est très simple.
On a la syntaxe suivante :
Dim ma_variable [As type]
Pour déclarer une variable, on écrit en premier Dim. Vient ensuite le nom de notre variable qu'il
faut un minimum explicite, mais pas non plus une phrase. Enfin, le type de la variable. Il est ici
entre crochets puisqu'il n'est pas obligatoire. S'il n'est pas indiqué, la variable est de type
Variant par défaut.
Exemples
Dim nbEntier As Integer 'pour nombre entier
nbEntier = 12345
Remarque
Ces deux déclarations ci-dessous sont identiques.
Dim exemple As Integer
Dim exemple%
2.1.4. Commentaires et affectation
Le caractère ' est utilisé pour définir un commentaire. Tout le texte qui suit ce caractère
n'est pas compilé.
Le symbole d’affectation est =
Les symboles + et underscore ("_") permettent d’écrire une instruction sur plusieurs
lignes.
Nous voulons écrire une macro qui réalise les traitements suivants :
TP3
2. Les boucles
2.1. While
L'itérative ou l’itération est une structure qui permet l'exécution d'une action ou d'une séquence
d'actions tant qu'une condition est vérifiée. Les structures TantQue sont employées dans les
situations où l’on doit procéder à un traitement systématique sur les éléments d’un ensemble dont
on ne connaît pas d’avance la quantité.
Si la condition est vraie, les instructions dans actions sont exécutées. Puis, on retourne tester une
nouvelle condition. Dans le cas contraire (condition bascule à faux), l'itération est terminée. On dit
alors que l'on sort de la boucle. La condition est toujours évaluée avant de faire le traitement (la
condition est d’abord testée).
Syntaxe:
Sub boucle_while()
While [condition]
'Instructions
Wend
Exemple:
Sub boucle_while()
Dim numero As Integer
numero = 1 'Numéro de départ(correspond ici au n° de ligne et au n° de numérotation)
While numero <= 12 'TANT QUE la variable numéro est <= 12, la boucle est répétée
Cells(numero, 1) = numero 'Numérotation
numero = numero + 1 'Le numéro est augmenté de 1 à chaque boucle
Wend
End Sub
2.2. For
2.3. Do …Loop
1. La fonction InputBox
La fonction InputBox est une boite de dialogue permettant à l’utilisateur de saisir du texte ou
des valeurs numériques. Elle permet d’entrer des données pour l’exécution du programme.
Syntaxe :
Variable = InputBox("message","Titre de la boite","Valeur par défaut")
Exemple :
Nous voulons permettre à l’utilisateur de saisir son prénom au clavier.
Sub saisir()
Dim Reponse As String
Reponse = InputBox("Entrez votre prénom")
Range("A1") = Reponse
End Sub
En exécutant la macro, la fenêtre suivante s’ouvre et attend la donnée à saisir
2. La fonction MsgBox
Exemple :
Nous voulons afficher le message « Votre nom est KOFFI »