- OUTILS & RESSOURCES
- Auriane Ducherpozat
- 26 octobre 2024
Le VBA : par où commencer ?
VBA (Visual Basic for Applications) est un langage de programmation intégré aux logiciels Microsoft Office, comme Excel. Il permet d’automatiser des tâches répétitives et de créer des fonctionnalités personnalisées. C’est une version simplifiée du langage Visual Basic. Dans Excel, VBA fonctionne avec des objets, c’est-à-dire des éléments comme les feuilles de calcul, les cellules ou les graphiques. Ces objets sont organisés de façon hiérarchique : par exemple, une feuille contient des cellules, et chaque cellule peut être manipulée individuellement avec du code VBA pour automatiser des actions
Dans cet article, les formules seront en anglais. Il est recommandé de mettre Excel en anglais, car c’est le langage universel. Il est préférable de maîtriser les formules dans cette langue dès le début.
Configurer VBA sur Excel
Pour commencer a utiliser VBA tu dois d’abord authoriser le “Developer tab” et les macros. Pour se faire :
- Sélectionne “File”
- Clique suffer “Options”
- Clique sur “Customize Ribbon”
- Coche la case Developer dans la liste des Main Tabs
- Clique sur OK
Lire plus : L’importance de Microsoft Excel en entreprise et les formules clés
Afficher un message
La fonction Msg Box affiche une boîte de dialogue avec un message. C’est comme une petite fenêtre pop-up qui s’ouvre pour délivrer un message ou demander une action de l’utilisateur. Par example, ici je veux que excel affiche une fenêtre pop-up avec marqué “hello Planète Grandes Ecoles”.
Sub HelloPGE()
MsgBox « Hello Planète Grandes Ecoles »
End Sub
Lire plus : Les avantages d’une formation Excel pour votre carrière
Créer un bouton
Créer un bouton en VBA, c’est comme ajouter un interrupteur que tu peux “programmer” pour faire quelque chose quand on clique dessus. Par exemple si on veut créer un bouton qui affiche une fenêtre pop-up avec marqué “hello Planète Grandes Ecoles”, il faudrait suivre les étapes suivantes :
- Insert => shape
- Ajoute du texte dans la boxe, cela peut etre par example “afficher le message”
- Clique droit sur ta forme
- Clique sur “Assign Macro”
- Assigne “HelloPGE()” à ta forme
Désormais si tu cliques sur la forme, une fenêtre pop-up affichera “hello Planète Grandes Ecoles”.
Les variables
Une variable en VBA, c’est comme une boîte où tu peux stocker des informations pour les utiliser plus tard dans ton programme. Par exemple, tu peux avoir une boîte pour stocker un nombre, une boîte pour stocker du texte, etc.
Avant d’utiliser une variable, il faut la “déclarer” avec le mot-clé Dim. C’est comme si tu annonçais à Excel que tu allais utiliser une boîte spéciale pour stocker des données. Cela permet aussi à Excel de savoir quel type de données tu vas mettre dans cette boîte (un nombre, du texte, une date, etc.).
Par exemple si je veux que excel affiche un message pop-up avec “hello Planète Grandes Ecoles” puis un autre avec le nombre 10, tu peux le coder ainsi :
Dim VarText As String (pour du texte)
Dim VarNumber As Integer (pour un nombre)
VarText = « Hello Planète Grandes Ecoles »
VarNumber = 10
MsgBox VarText
MsgBox VarNumber
Dans ce cas la fonction variable n’ajoute pas grand chose de plus a la fonction afficher un message. Mais il est important de comprendre comment fonctionne cette fonction pour ensuite pouvoir l’utiliser. Voici un autre exemple qui permet de faire un calcul en fonction d’une variable, que l’on entrera manuellement, ici on choisi que variable = 5
VarNumber = 5
VarNumber = VarNumber + 7
Msgbox VarNumber
Excel va afficher une fenêtre pop-up avec le nombre 12 (5+7).
Fonction For … Next
En VBA, la boucle For…Next permet de répéter un bloc de code un nombre spécifique de fois. On utilise un compteur qui s’incrémente automatiquement à chaque itération.
Dim i as Integer
i = 1
For i = 1 to 10
Msgbox i
Next
Pour i allant de 1 à 10, Excel va afficher une fenêtre pop-up avec le nombre i.
Fonction Loop
La fonction Loop est utilisée dans le langage de programmation VBA pour créer des boucles. Une boucle permet de répéter un ensemble d’instructions plusieurs fois sans avoir à les écrire plusieurs fois.
Ainsi, la fonction Loop permet d’exécuter les mêmes instructions plusieurs fois. Par exemple, si tu dois additionner les nombres de 1 à 10, tu peux utiliser une boucle pour le faire au lieu de répéter l’opération manuellement. Voici un exemple :
Dim i as Integer
i = 1
Do While i < 10
i = i + 1
Msgbox i
Loop
Lorsque i atteint 10 la boucle s’arrête, donc excel va ici retourner une fenêtre pop-up a avec le nombre 10.
La difference entre For..Next et Loop :
- For … Next une boucle avec un nombre déterminé d’itérations. Elle répète un bloc de code pour un certain nombre de fois, basé sur un compteur (ici de 1 à 10).
- Loop est une boucle conditionnelle. Elle continue tant qu’une condition est vraie, sans avoir besoin de connaître à l’avance le nombre d’itérations (ici jusqu’à 10).