Aller au contenu principal
Mis à jour le

C'est quoi le VBA dans Excel ?

Le VBA est le langage de programmation intégré à Excel et aux autres applications Office. Il pilote directement les objets d'un classeur, ses feuilles, ses plages et ses cellules, à travers des instructions regroupées dans des macros. On l'écrit dans l'éditeur Visual Basic, une fenêtre distincte de la grille qu'on ouvre avec le raccourci Alt+F11.

Éditeur Visual Basic d'Excel avec l'explorateur de projet et une procédure VBA dans la fenêtre de code
L'éditeur VBA (Alt+F11) réunit l'explorateur de projet et la fenêtre où s'écrit le code.

À quoi sert le VBA (Visual Basic) dans Excel

Le VBA sert à automatiser dans Excel tout ce qu'aucune formule ne sait faire, parce qu'il agit sur le classeur lui-même et non sur le contenu d'une cellule. Une formule se contente de calculer une valeur, là où une procédure VBA ouvre un fichier, met en forme un tableau ou enchaîne une longue série de gestes en une seule commande.

Ce que le langage apporte en plus, c'est la décision et la répétition. Un programme VBA teste une condition avant d'agir, parcourt des centaines de lignes sans intervention de ta part, et s'adapte à des données dont la forme change d'un fichier à l'autre. C'est précisément ce qui le sépare d'un raccourci clavier ou d'une mise en forme conditionnelle.

Sa portée dépasse d'ailleurs le tableur. Le même langage pilote Word, Outlook ou Access, si bien qu'une procédure lancée depuis Excel prépare un message et l'envoie sans que tu changes d'application. De retour dans la feuille, tu peux aussi écrire tes propres fonctions, appelées dans une cellule au même titre que SOMME ou RECHERCHEV.

Le piège
Une macro efface l'historique d'annulation en s'exécutant : une fois qu'elle a tourné, Ctrl+Z ne rattrape plus rien. Prends l'habitude d'enregistrer ton classeur juste avant de lancer une procédure que tu essaies pour la première fois.

Comment écrire sa première macro VBA dans Excel

Le VBA te laisse programmer tes propres macros au lieu de te contenter de l'enregistreur. Voici comment ouvrir l'éditeur, créer un module et lancer une petite procédure qui affiche un message, pour te familiariser avec le langage.

  1. 1Appuie sur Alt+F11 pour ouvrir l'éditeur Visual Basic, la fenêtre séparée où s'écrit tout le code VBA de ton classeur.
  2. 2Dans le menu Insertion puis Module, crée un module vierge, c'est le fichier de code dans lequel tu vas taper ta procédure.
  3. 3Écris une procédure simple, par exemple Sub Bonjour() sur la première ligne, puis MsgBox "Salut" en dessous, puis End Sub pour fermer la procédure.
  4. 4Appuie sur F5 (ou clique sur le bouton Exécuter) pour lancer la macro, une boîte de dialogue affiche alors ton message. Reviens sur Excel avec Alt+F11.
  5. 5Enregistre le classeur au format prenant en charge les macros pour conserver ton code, sinon Excel efface le VBA à la fermeture.
L'astuce en plus
Place le curseur dans ta procédure et appuie sur F8 pour l'exécuter une ligne à la fois, au lieu de tout lancer d'un coup. Tu vois alors à quelle ligne le code dérape et ce que devient chaque cellule au passage.
Le savais-tu ?
Le VBA n'est pas propre à Excel : le même langage anime Word, PowerPoint, Outlook et Access. Une boucle ou une condition apprise dans Excel se réécrit presque à l'identique dans les autres applications Office, ce qui rend vite l'effort rentable.
FAQ

Questions fréquentes sur le VBA

Le raccourci le plus rapide est Alt+F11, qui ouvre directement l'éditeur Visual Basic. Tu peux aussi y accéder via l'onglet Développeur (s'il est visible) en cliquant sur Visual Basic. Si l'onglet Développeur n'apparaît pas dans ton ruban, active-le dans Fichier > Options > Personnaliser le ruban, puis coche la case Développeur.

Ressources

Du mot à la pratique

Tu sais maintenant ce que le mot veut dire. Reste à s’en servir : la formule, le fichier, et le cours qui remet tout dans l’ordre.

Tout le lexique