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, PowerPoint, 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. Une boucle ou une condition apprise ici se réécrit presque à l'identique dans les autres applications Office, ce qui rend vite l'effort rentable. 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.

Éditeur Visual Basic pour Applications ouvert sur un classeur Excel, avec l'explorateur de projet et la fenêtre Propriétés à gauche
L'éditeur est une application à part, avec ses propres menus et sa propre fenêtre. À gauche, l'explorateur liste les feuilles du classeur et ThisWorkbook, sous lesquels les modules viendront se ranger.
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. 1
    Appuie 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.
    Groupe Code de l'onglet Développeur du ruban Excel, avec le bouton Visual Basic à gauche
    Le bouton Visual Basic ouvre exactement la même fenêtre qu'Alt+F11. Macros, juste à sa droite, liste les procédures déjà écrites sans passer par l'éditeur.
  2. 2
    Dans le menu Insertion puis Module, crée un module vierge, c'est le fichier de code dans lequel tu vas taper ta procédure.
    Menu Insertion de l'éditeur Visual Basic, avec Procédure grisée, UserForm, Module, Module de classe et Fichier
    Module est la troisième entrée, sous UserForm. Procédure, en haut, reste grisée tant qu'aucun module n'est ouvert pour l'accueillir.
  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. 4
    Appuie 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. 5
    Enregistre le classeur au format prenant en charge les macros pour conserver ton code, sinon Excel efface le VBA à la fermeture.
L'astuce en plus
Exécuter ton code ligne à ligne avec F8Place 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.

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.

Pour aller plus loin

Tout ce dont tu as besoin pour passer de la définition à l’usage se trouve ici.

Besoin d’aide sur Excel ?

Rejoins le Dojo pour poser tes questions, obtenir de l’aide sur tes fichiers Excel et participer chaque mois à un cours collectif en direct.

Gratuit · Sans carte bancaire