Aller au contenu principal
Mis à jour le

C'est quoi une macro Excel ?

Une macro est une séquence d'actions enregistrée et rejouable en un clic ou un raccourci clavier, permettant d'automatiser des tâches répétitives dans Excel. Les macros sont stockées en VBA et sauvegardées dans des fichiers .xlsm (avec macros activées). On peut en créer une sans coder via l'enregistreur de macros ou en écrivant directement du VBA dans l'éditeur.

Éditeur Visual Basic d'Excel affichant le code VBA d'une macro dans un module
Le code d'une macro se lit et se modifie dans l'éditeur Visual Basic, sous forme de procédure VBA.

À quoi sert une macro dans Excel

Une macro te sert à rejouer d'un seul geste une suite d'actions que tu referais sinon à la main, encore et encore. Tu enregistres ou tu écris la séquence une fois, mise en forme, tri, copies, calculs, et Excel la rejoue à l'identique dès que tu la lances.

L'intérêt ne se limite pas à la vitesse. Une routine qui revient chaque semaine, un export à reformater ou un rapport à générer, s'exécute toujours dans le même ordre. Fini l'oubli de colonne ou le format de date qui dérape quand tu refais tout de mémoire, tu gagnes en régularité autant qu'en temps.

Pour obtenir une macro, deux chemins s'offrent à toi. L'enregistreur de macros la fabrique à partir de tes clics, sans une ligne de code, et c'est la porte d'entrée la plus simple. Le VBA, le langage dans lequel toute macro est écrite, prend le relais dès qu'il faut des conditions, des boucles ou une logique que de simples gestes ne savent pas rendre.

Export de mouvements de stock remis en forme par une macro, avec en-têtes traduits en français, dates au format jour mois année et tableau bleu.
Un export de stock après le passage d'une macro de mise en forme : en-têtes traduits en français, dates au format jour/mois/année et habillage de tableau appliqués d'un coup.
Le piège
Une fois qu'une macro a tourné, Ctrl+Z ne rattrape plus rien : son passage vide l'historique d'annulation sans le moindre avertissement. Prends l'habitude d'enregistrer ton classeur juste avant de lancer une macro que tu testes pour la première fois.

Comment créer une macro dans Excel

La façon la plus simple de créer ta première macro, c'est l'enregistreur, qui mémorise tes gestes et les rejoue à volonté sans écrire une ligne de code. Voici comment lancer l'enregistrement, capturer tes actions, puis conserver ta macro dans le bon format.

  1. 1Lance l'enregistrement via Affichage puis Macros puis Enregistrer une macro (ou par l'onglet Développeur, puis Enregistrer une macro).
  2. 2Donne un nom sans espace à ta macro, choisis éventuellement une touche de raccourci (Ctrl+Maj+une lettre), sélectionne « Ce classeur » comme emplacement, puis valide par OK.
  3. 3Effectue tes actions normalement (mise en forme, copier-coller, calculs), puis clique sur Arrêter l'enregistrement dans le même menu Macros.
  4. 4Enregistre le classeur au format qui prend en charge les macros, sinon Excel supprime ton code à la fermeture.
L'astuce en plus
Une macro partie trop loin, ou coincée dans une boucle, s'arrête net avec la touche Échap (ou Ctrl+Pause). Excel interrompt alors le code et t'ouvre une fenêtre pour l'arrêter ou passer en débogage.

Comment exécuter une macro enregistrée dans Excel

Pour relancer une macro déjà enregistrée, la voie la plus universelle passe par la boîte Afficher les macros. Ouvre-la avec le raccourci Alt+F8, ou par l'onglet Affichage puis Macros, sélectionne ta macro dans la liste et clique sur Exécuter. La séquence se rejoue aussitôt, quel que soit le classeur où tu l'as rangée.

Plus rapide encore, le raccourci que tu lui as attribué à l'enregistrement la déclenche sans passer par aucun menu. Attention à un détail qui surprend : ce raccourci écrase le raccourci natif d'Excel tant que le classeur reste ouvert, donc évite Ctrl+C ou Ctrl+S et vise plutôt une combinaison avec Maj.

Pour un lancement à portée de clic, tu peux enfin poser un bouton directement sur la feuille. Insère un contrôle de formulaire depuis l'onglet Développeur, associe-lui ta macro, et un simple clic dessus l'exécute, sans que personne ait à connaître son nom.

Le savais-tu ?
Chaque macro que tu enregistres est en réalité du code VBA écrit pour toi. Ouvre l'éditeur avec Alt+F11 juste après un enregistrement, et tu lis, ligne par ligne, la traduction exacte de tes propres clics.
FAQ

Questions fréquentes sur la macro

Les commandes de base sont dans l'onglet Affichage, groupe Macros : tu y trouves Afficher les macros et Enregistrer une macro. Pour l'outillage complet, l'éditeur VBA, l'enregistreur et la sécurité des macros réunis, c'est l'onglet Développeur qu'il te faut. Cet onglet est masqué par défaut, tu l'ajoutes au ruban via Fichier puis Options puis Personnaliser le ruban en cochant 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