← Tous les articles
Excel

VBA Excel : le guide pour débuter avec les macros

6 juillet 2026 · par Romain RICHER

Vous avez sans doute déjà entendu parler des « macros » Excel, ou croisé le terme « VBA » sans trop savoir ce qu’il recouvre. Derrière ces mots se cache un véritable langage de programmation, intégré à Excel depuis plus de trente ans, qui permet d’automatiser à peu près n’importe quelle tâche répétitive : mettre en forme un tableau, générer un rapport, trier des données, ou déclencher une action d’un simple clic sur un bouton.

Cet article est une porte d’entrée : on y voit d’où vient VBA, comment activer les outils nécessaires dans Excel, comment créer et exécuter une première macro, et comment l’associer à un bouton. Aucune connaissance préalable en programmation n’est nécessaire pour commencer.

VBA, qu’est-ce que c’est ?

VBA signifie Visual Basic for Applications. C’est un langage de programmation développé par Microsoft, intégré aux applications de la suite Office (Excel, Word, PowerPoint, Access…). Il dérive du langage Visual Basic, dont il reprend la syntaxe et les concepts, mais avec une particularité : le code VBA ne s’exécute pas seul, il tourne à l’intérieur d’une application hôte comme Excel. C’est pour cela qu’on parle de « for Applications ».

Concrètement, VBA permet de piloter Excel par le code : lire et écrire dans les cellules, créer des feuilles, mettre en forme, afficher des boîtes de dialogue, et même construire des formulaires interactifs. Une suite d’instructions VBA qui accomplit une tâche s’appelle une macro.

Un peu d’histoire

L’histoire de VBA est étroitement liée à celle d’Excel. Avant lui, chaque application Office avait son propre langage de macro : WordBasic pour Word, le langage de macro XLM pour Excel. Cette fragmentation compliquait la vie des développeurs.

En 1993, Microsoft introduit VBA avec Excel 5.0, dans l’idée d’unifier tous ces langages disparates sous une seule solution, plus puissante et cohérente. Le succès est immédiat auprès de ceux qui créaient des solutions sur mesure. VBA s’étend ensuite aux autres applications : Microsoft Project en 1994, Access en 1995, Word et PowerPoint peu après.

Au fil des versions, VBA gagne en maturité : la version 5.0 (Office 97) introduit le support des contrôles ActiveX, la 6.0 (Office 2000) aligne VBA sur Visual Basic 6.0, et surtout la version 7.0 (Office 2010) apporte la compatibilité avec les architectures 64 bits, cruciale pour les versions modernes d’Office. Aujourd’hui encore, malgré l’apparition d’alternatives, VBA reste omniprésent grâce à sa simplicité et à son intégration profonde dans Office.

Activer l’onglet Développeur

Tous les outils VBA se trouvent dans un onglet du ruban appelé Développeur. Problème : par défaut, Excel ne l’affiche pas. C’est donc la toute première étape.

La procédure est simple :

  • Ouvrez Excel et allez dans Fichier > Options.
  • Dans la boîte de dialogue, cliquez sur Personnaliser le ruban, à gauche.
  • Dans la liste de droite (Onglets principaux), cochez la case Développeur.
  • Cliquez sur OK.

L’onglet Développeur apparaît alors dans le ruban. Il contient notamment le groupe Code, avec les boutons essentiels : Visual Basic (pour ouvrir l’éditeur), Macros (pour afficher et lancer vos macros), Enregistrer une macro, et Sécurité des macros.

Onglet Développeur affiché dans le ruban Excel, avec le groupe Code : Visual Basic, Macros, Enregistrer une macro et Sécurité des macros
L’onglet Développeur une fois activé, avec le groupe Code à gauche du ruban.

L’éditeur Visual Basic (VBE)

Le cœur du développement VBA, c’est l’éditeur Visual Basic, souvent abrégé VBE. C’est une fenêtre séparée où l’on écrit et modifie le code. On l’ouvre depuis l’onglet Développeur (bouton Visual Basic) ou, plus rapidement, avec le raccourci clavier Alt + F11.

À gauche, l’explorateur de projets liste les éléments de votre classeur : les feuilles (Feuil1, Feuil2…) et l’objet ThisWorkbook (le classeur lui-même). Le code s’écrit généralement dans des modules, que l’on ajoute via le menu Insertion > Module. Un module est simplement un conteneur pour vos procédures.

Éditeur Visual Basic (VBE) d'Excel : l'explorateur de projets à gauche avec ThisWorkbook et Feuil1, et la zone de code vide à droite
L’éditeur Visual Basic : l’explorateur de projets à gauche, la zone de code à droite.

Une macro s’écrit sous forme de procédure, encadrée par les mots-clés Sub et End Sub. Voici la plus simple qui soit :

Sub MaPremiereMacro()
    MsgBox "Bonjour depuis VBA !"
End Sub

Cette macro affiche une petite boîte de dialogue avec un message. Sub ouvre la procédure, MaPremiereMacro est son nom, et MsgBox est une instruction qui affiche une fenêtre.

Enregistrer une macro : la voie royale pour débuter

Écrire du code n’est pas la seule façon de créer une macro. Excel propose un enregistreur de macros qui traduit automatiquement vos actions en code VBA. C’est de loin la meilleure méthode pour apprendre quand on débute.

Le principe : depuis l’onglet Développeur, cliquez sur Enregistrer une macro, donnez-lui un nom, validez, puis effectuez vos manipulations habituelles (saisir une valeur, mettre en gras, colorer une cellule…). Chaque action est enregistrée. Quand vous cliquez sur Arrêter l’enregistrement, Excel a généré tout le code VBA correspondant.

L’intérêt pédagogique est énorme : ouvrez ensuite l’éditeur (Alt + F11) et examinez le code produit. Vous verrez comment vos gestes se traduisent en instructions, quels objets Excel sont manipulés (cellules, feuilles), et leurs propriétés. C’est le meilleur moyen de démystifier le langage et d’apprendre par l’exemple.

Exécuter une macro

Une fois une macro créée, plusieurs moyens permettent de la lancer :

  • Par la boîte de dialogue Macros : onglet Développeur > Macros (ou raccourci Alt + F8), sélectionnez la macro dans la liste, puis cliquez sur Exécuter.
  • Depuis l’éditeur : placez le curseur dans la procédure et appuyez sur F5, ou cliquez sur le bouton de lecture (triangle vert).
  • Par un raccourci clavier : on peut associer une combinaison de touches à une macro lors de sa création.
  • Par un bouton placé directement sur la feuille — c’est souvent le plus pratique pour un usage quotidien (voir ci-dessous).

Associer une macro à un bouton

Pour rendre une macro accessible d’un simple clic, on peut lui associer un bouton posé sur la feuille de calcul. La méthode la plus courante utilise un contrôle de formulaire :

  • Dans l’onglet Développeur, cliquez sur Insérer, puis choisissez le Bouton (dans les Contrôles de formulaire).
  • Dessinez le bouton à l’emplacement voulu en maintenant le clic.
  • Une fenêtre s’ouvre automatiquement : sélectionnez la macro à associer, puis validez.
  • Vous pouvez renommer le bouton (clic droit > Modifier le texte) pour indiquer clairement son action, par exemple « Générer le rapport ».

Désormais, un clic sur ce bouton exécute votre macro. C’est ce qui permet de transformer un classeur en petit outil : l’utilisateur n’a pas besoin de connaître VBA, il clique et l’automatisation s’exécute.

Le format de fichier : attention à l’extension

Point crucial souvent source de mauvaises surprises : le format de fichier .xlsx ne peut pas contenir de code VBA. C’est une protection voulue par Microsoft : un fichier .xlsx est garanti sans macro, donc sans risque d’exécution de code à l’ouverture.

Pour conserver vos macros, vous devez enregistrer votre classeur au format .xlsm (classeur Excel prenant en charge les macros), ou éventuellement .xlsb. Si vous oubliez et enregistrez en .xlsx, Excel vous avertira que le code VBA sera perdu. Retenez donc : dès qu’un classeur contient une macro, il se sauvegarde en .xlsm.

À noter aussi le classeur de macros personnelles (PERSONAL.XLSB) : un fichier spécial, invisible, qui stocke les macros que vous voulez rendre disponibles dans tous vos classeurs. Pratique pour vos outils personnels réutilisables.

La sécurité des macros

Puisqu’une macro est du code capable d’agir sur votre ordinateur, elle peut aussi être un vecteur de logiciels malveillants. Excel applique donc par défaut une protection : à l’ouverture d’un fichier contenant des macros, un avertissement de sécurité s’affiche, et les macros restent désactivées tant que vous ne les avez pas explicitement autorisées.

Les paramètres se règlent dans Fichier > Options > Centre de gestion de la confidentialité > Paramètres des macros (ou via le bouton Sécurité des macros de l’onglet Développeur). Plusieurs niveaux existent, du plus strict (tout désactiver sans notification) au plus permissif (tout activer, déconseillé). Le réglage recommandé pour qui développe régulièrement est « Désactiver les macros VBA avec notification » : il allie sécurité et praticité, en vous laissant activer au cas par cas.

La règle d’or : n’activez les macros que pour des fichiers dont vous connaissez l’origine (les vôtres, ceux d’un collègue ou d’un prestataire identifié). En cas de doute sur un fichier reçu par mail ou téléchargé, laissez-les désactivées — le fichier reste consultable sans elles. Windows ajoute d’ailleurs sa propre protection (le « Mark of the Web ») sur les fichiers venant de l’extérieur, ce qui renforce ces blocages.

Pour aller plus loin

Vous avez maintenant les bases : VBA est un langage intégré à Excel, on active l’onglet Développeur pour y accéder, on crée des macros en les écrivant ou en les enregistrant, on les exécute de plusieurs façons, et on peut les déclencher par un bouton. Le tout se conserve dans un fichier .xlsm, avec une vigilance de mise sur la sécurité.

La meilleure façon de progresser reste l’expérimentation : enregistrez des macros pour vos tâches répétitives, puis ouvrez le code généré pour comprendre comment il fonctionne. En analysant et en modifiant ce code, vous développerez petit à petit une intuition du langage et de la façon dont il dialogue avec Excel. De là, un monde d’automatisation s’ouvre : rapports générés en un clic, mises en forme instantanées, traitements de données automatisés — autant de temps gagné sur les tâches fastidieuses.