Macro et VBA : de quoi parle-t-on ?
Une macro est une suite d'actions qu'Excel enregistre puis rejoue à la demande : mettre en forme un tableau, remplir une colonne, préparer un rapport. VBA (Visual Basic for Applications) est le langage dans lequel Excel écrit cette macro. Vous pouvez donc créer votre première macro sans programmer, en laissant l'enregistreur travailler, puis lire et retoucher le code qu'il a produit.
Afficher l'onglet Développeur
Les outils de macro se trouvent dans l'onglet Développeur, masqué par défaut. Pour l'afficher : Fichier, Options, Personnaliser le ruban, puis cochez Développeur dans la liste des onglets principaux (aide Microsoft, consultée le 30 octobre 2026). Sur Mac, le réglage se trouve dans Excel, Préférences, Ruban et barre d'outils.
Enregistrer votre première macro pas à pas
Imaginons que vous mettiez chaque mois en forme la ligne d'en-têtes d'un export : texte en gras et fond bleu clair sur A1:E1. Pour l'automatiser :
- Sélectionnez la cellule A1.
- Onglet Développeur, groupe Code, cliquez sur Enregistrer une macro.
- Donnez-lui un nom sans espace, par exemple
MiseEnFormeEntetes, une touche de raccourci si vous le souhaitez, et laissez « Enregistrer la macro dans : Ce classeur ». Cliquez sur OK. - Faites les gestes à automatiser : sélectionnez A1:E1, mettez en gras, choisissez une couleur de remplissage.
- Onglet Développeur, cliquez sur Arrêter l'enregistrement.
Ces étapes suivent l'aide Microsoft « Démarrage rapide : créer une macro » (aide Microsoft). Pendant l'enregistrement, Excel note tout, y compris les clics inutiles : préparez vos gestes avant de commencer.
Le bouton Utiliser les références relatives, à côté d'Enregistrer une macro, fait rejouer la macro à partir de la cellule active plutôt qu'aux mêmes adresses.
Exécuter la macro
- Alt+F8 ouvre la liste des macros : choisissez la vôtre, puis Exécuter.
- La touche de raccourci choisie à l'enregistrement la lance directement.
- Un bouton : insérez une forme (Insertion, Formes), faites un clic droit dessus, puis Affecter une macro.
Lire et modifier le code VBA
Alt+F11 ouvre l'éditeur Visual Basic ; vous pouvez aussi passer par Développeur, Macros, puis Modifier. La macro de l'exemple ressemble à ceci, une fois débarrassée des lignes superflues que l'enregistreur ajoute :
Sub MiseEnFormeEntetes()
' Met en forme la ligne d'en-têtes A1:E1
Range("A1:E1").Font.Bold = True
Range("A1:E1").Interior.Color = RGB(221, 235, 247)
End SubSubetEnd Subencadrent la macro ;Range("A1:E1")désigne la plage ;.Font.Bold = Truemet en gras,.Interior.Colorrègle la couleur de fond ;- une ligne qui commence par une apostrophe est un commentaire, ignoré par Excel.
Pour aller plus loin, modifiez une valeur (la plage, la couleur), relancez la macro et observez le résultat : c'est la façon la plus simple d'apprendre le langage.
Enregistrer le classeur au bon format
Un classeur qui contient des macros s'enregistre au format Classeur Excel (prenant en charge les macros), extension .xlsm. Au format .xlsx habituel, Excel prévient que les macros ne seront pas conservées.
Sécurité et bonnes pratiques
- N'activez que les macros d'une source connue : une macro peut modifier ou supprimer des données, et Excel peut bloquer celles d'un fichier téléchargé.
- Travaillez sur une copie du fichier tant que la macro n'est pas éprouvée : une action de macro ne s'annule pas avec Ctrl+Z.
- Nommez clairement vos macros et commentez les lignes importantes.
- Préférez les tableaux Excel comme source : leurs plages suivent les ajouts de lignes, ce qui évite d'écrire des adresses fixes dans le code.
Aller plus loin
Les premières macros VBA figurent au programme de notre formation Excel avancé, avec les tableaux croisés dynamiques, Power Query et Power Pivot ; l'examen de certification ENI ou ICDL, au choix, est inclus. Pour retrouver les touches utiles en VBA (Alt+F8, Alt+F11), voyez notre liste des raccourcis clavier Excel.




