Les macros dans Excel permettent d’enregistrer une séquence d’actions et de la rejouer en un clic. Copier-coller des cellules, appliquer une mise en forme, trier un tableau : dès qu’une manipulation revient plusieurs fois par semaine, une macro la prend en charge à votre place. Le principe repose sur le langage VBA (Visual Basic for Applications), intégré directement dans le logiciel.
Format de fichier et sécurité des macros Excel
Avant même d’enregistrer votre première macro, un détail technique conditionne tout le reste : le format du classeur. Un fichier .xlsx classique ne peut pas stocker de macro. Il faut enregistrer votre classeur au format .xlsm (classeur prenant en charge les macros).
A lire aussi : Enlever des doublons sur Excel : différence entre filtre avancé et suppression
Pour cela, ouvrez le menu Fichier, cliquez sur Enregistrer sous, puis sélectionnez le format .xlsm dans la liste déroulante. Si vous oubliez cette étape, Excel supprimera silencieusement le code VBA à la fermeture.
Le blocage des macros depuis 2022
Depuis 2022, Microsoft applique une politique appelée « Secure by Default ». Concrètement, les macros des fichiers téléchargés depuis Internet sont bloquées par défaut. Excel marque ces fichiers (Mark of the Web) et refuse d’exécuter leur code VBA sans intervention manuelle.
A lire en complément : Mettre en page rapidement un rapport sous LibreOffice Writer
Deux solutions existent pour contourner ce blocage :
- Faire un clic droit sur le fichier dans l’explorateur Windows, ouvrir ses propriétés, puis cocher la case « Débloquer » avant de l’ouvrir dans Excel.
- Déplacer le fichier dans un dossier déclaré comme « Emplacement approuvé » dans le Centre de gestion de la confidentialité d’Excel (onglet Fichier, Options, Centre de gestion de la confidentialité, Paramètres).
- Si vous travaillez en réseau d’entreprise, demander à l’administrateur d’ajouter le partage réseau concerné aux emplacements approuvés.
Ce durcissement de la sécurité change la donne pour quiconque échange des classeurs macro-activés par mail ou via un serveur. Mieux vaut le savoir avant de partager un fichier à un collègue qui se retrouvera face à un message d’erreur.

Enregistrer une macro dans Excel sans écrire de code VBA
Vous n’avez pas besoin de connaître la programmation pour créer une macro. L’enregistreur intégré traduit vos clics et vos saisies en code VBA automatiquement.
Activer l’onglet Développeur
Par défaut, l’onglet Développeur n’apparaît pas dans le ruban. Pour l’afficher, allez dans Fichier, puis Options, puis Personnaliser le ruban. Cochez la case « Développeur » dans la colonne de droite et validez. Cet onglet donne accès à toutes les commandes liées aux macros et au code VBA.
Lancer l’enregistrement pas à pas
Cliquez sur « Enregistrer une macro » dans l’onglet Développeur. Excel vous demande un nom (sans espace ni caractère spécial), un éventuel raccourci clavier et l’emplacement de stockage (ce classeur ou le classeur de macros personnelles).
Ensuite, réalisez exactement les actions à automatiser : sélection de cellules, mise en forme, tri, insertion de formule. Chaque clic est enregistré dans l’ordre exact où vous le faites. Une fois terminé, cliquez sur « Arrêter l’enregistrement ».
Un piège fréquent : si vous sélectionnez la cellule A1 pendant l’enregistrement, la macro pointera toujours vers A1, même si vos données commencent ailleurs la prochaine fois. Pour éviter cela, cochez l’option « Références relatives » avant de lancer l’enregistrement. La macro reproduira alors le déplacement relatif (deux cellules vers la droite, par exemple) plutôt qu’une adresse fixe.
Lire et modifier le code VBA d’une macro enregistrée
L’enregistreur produit un code fonctionnel, mais souvent verbeux. Ouvrir l’éditeur Visual Basic (raccourci Alt + F11) permet de comprendre ce que la macro fait réellement et de l’adapter.
Prenons un exemple concret. Vous avez enregistré une macro qui met en gras la première ligne d’un tableau et applique un fond bleu. Le code généré ressemblera à ceci :
Sub MiseEnForme()
Rows(« 1:1 »).Select
Selection.Font.Bold = True
With Selection.Interior
.Color = RGB(91, 155, 213)
End With
End Sub
Chaque ligne correspond à une action précise que vous avez effectuée. « Rows(« 1:1″).Select » sélectionne la première ligne. « Selection.Font.Bold = True » applique le gras. Le bloc « With Selection.Interior » change la couleur de fond.
Vous pouvez modifier la valeur RGB pour changer la couleur, remplacer « 1:1 » par « 1:3 » pour formater les trois premières lignes, ou ajouter une ligne pour ajuster la taille de police. Pas besoin de tout réécrire : l’enregistreur fournit la base, vous affinez.

Exécuter et attribuer un raccourci clavier à une macro
Trois façons de lancer une macro dans Excel :
- Par le menu : onglet Développeur, puis « Macros », sélectionner le nom et cliquer sur Exécuter.
- Par un raccourci clavier défini lors de l’enregistrement (Ctrl + une lettre). Attention, un raccourci macro écrase le raccourci Excel natif portant la même combinaison.
- Par un bouton inséré directement dans la feuille : onglet Développeur, Insérer, Bouton (contrôle de formulaire), puis associer la macro au bouton créé.
L’option du bouton est la plus pratique pour un fichier partagé avec des collègues qui ne connaissent pas les raccourcis. Un simple clic sur le bouton suffit.
Macros VBA ou Office Scripts : quelle automatisation choisir
Microsoft positionne désormais VBA comme une solution d’automatisation centrée sur le poste de travail (application de bureau Windows). Pour une utilisation dans Excel sur le web ou sur Mac avec des flux automatisés, l’éditeur propose Office Scripts, écrits en TypeScript et connectés à Power Automate.
La différence pratique est nette. Une macro VBA s’exécute uniquement dans l’application de bureau et reste liée au classeur .xlsm. Un Office Script peut être déclenché par un flux Power Automate (par exemple, reformater automatiquement un fichier déposé dans un dossier SharePoint).
Pour des tâches récurrentes sur un poste fixe, les macros VBA restent le choix le plus direct et le mieux documenté. Si votre organisation utilise Excel en ligne et que vous avez besoin d’enchaîner plusieurs étapes entre applications, Office Scripts mérite un regard attentif. Les deux approches coexistent, et le choix dépend surtout de l’environnement dans lequel vous travaillez au quotidien.

