Accueil/Cours gratuits/Bibliothèque VBA/Bases/L'enregistreur de macros
Cours VBA gratuit | Bases

L'enregistreur de macros

Gratuit, sans inscription Niveau 1 / 3 | Découverte Lecture 7 min V1.2 | 29/10/2026

L'enregistreur de macros transforme vos clics en code VBA. C'est la porte d'entrée idéale : on fait la manipulation une fois, Excel écrit le code, et on apprend en le relisant. Il a aussi ses limites, qu'il faut connaître pour passer à la suite.

Télécharger la fiche PDF gratuiteSans inscription, mise en page prête à imprimer

01Définition

En une phrase

L'enregistreur de macros mémorise vos actions dans Excel et les traduit en instructions VBA, que vous pouvez ensuite rejouer d'un clic ou d'un raccourci clavier.

Une macro est simplement une procédure VBA, c'est-à-dire une suite d'instructions rangée entre Sub et End Sub. L'enregistreur l'écrit à votre place dans un module du classeur.

02Afficher l'onglet Développeur

Tout se passe dans l'onglet Développeur, masqué par défaut.

  1. Ouvrez Fichier > Options > Personnaliser le ruban.
  2. Dans la liste de droite, cochez Développeur, puis validez.
  3. L'onglet apparaît : il contient les boutons Enregistrer une macro, Macros et Visual Basic (raccourci Alt + F11).

03Enregistrer une macro, étape par étape

  1. Cliquez sur Enregistrer une macro.
  2. Donnez un nom sans espace ni caractère spécial, par exemple MiseEnFormeEntete.
  3. Choisissez si besoin un raccourci : préférez Ctrl + Maj + lettre, pour ne pas écraser un raccourci d'Excel comme Ctrl + C.
  4. Choisissez où stocker la macro : Ce classeur, ou Classeur de macros personnelles pour la retrouver dans tous vos fichiers.
  5. Faites vos manipulations, puis cliquez sur Arrêter l'enregistrement.
💡 AstuceRéférences absolues ou relatives ?

Par défaut, l'enregistreur note des adresses fixes : « la cellule B3 ». Activez Utiliser les références relatives avant d'enregistrer si la macro doit agir à partir de la cellule active, quelle qu'elle soit.

04Relire le code produit

Ouvrez l'éditeur avec Alt + F11 : la macro se trouve dans un module, en général Module1. Voici ce que produit l'enregistreur pour mettre en gras et colorer une ligne d'en-tête :

Code brut de l'enregistreur
Sub MiseEnFormeEntete()
'
' MiseEnFormeEntete Macro
'
    Range("A1:D1").Select
    Selection.Font.Bold = True
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 16247773
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
    Range("A1").Select
End Sub

Le code fonctionne, mais il est bavard : il sélectionne avant d'agir et recopie toutes les propriétés, même celles que vous n'avez pas touchées.

05Nettoyer le code

Trois réflexes suffisent pour rendre un code enregistré plus court, plus rapide et plus fiable :

  • supprimer les .Select et agir directement sur l'objet ;
  • supprimer les propriétés inutiles ;
  • regrouper les actions sur un même objet avec With End With.
Le même code, nettoyé
Sub MiseEnFormeEntete()
    With Range("A1:D1")
        .Font.Bold = True
        .Interior.Color = RGB(221, 235, 247)
    End With
End Sub

06Pièges à éviter

⚠️ PiègeEnregistrer en .xlsx

Un classeur .xlsx ne peut pas contenir de macros : Excel les supprime à l'enregistrement. Enregistrez au format Classeur Excel prenant en charge les macros (.xlsm).

⚠️ PiègePas de retour arrière

Une action réalisée par une macro ne s'annule pas avec Ctrl + Z. Testez toujours une nouvelle macro sur une copie du fichier.

⚠️ PiègeTout est enregistré

Un clic de trop, un défilement, une cellule sélectionnée par erreur : l'enregistreur note tout. Préparez votre manipulation avant de cliquer sur Enregistrer.

⚠️ PiègeMacros bloquées à l'ouverture

Un fichier .xlsm reçu par mail ou téléchargé peut avoir ses macros bloquées. Clic droit sur le fichier, Propriétés, puis cochez Débloquer.

07Les limites de l'enregistreur

L'enregistreur ne sait pas écrire de condition, de boucle ni de variable : il rejoue toujours exactement la même chose. Dès qu'il faut que la macro décide (If Then Else) ou répète (For Next), il faut écrire le code soi-même. C'est tout l'objet des fiches suivantes.

08Questions fréquentes

À quoi sert l'enregistreur de macros dans Excel ?

L'enregistreur de macros mémorise vos actions dans Excel et les traduit en instructions VBA, que vous pouvez ensuite rejouer d'un clic ou d'un raccourci clavier.

Quel est le piège le plus fréquent avec l'enregistreur de macros ?

Enregistrer en .xlsx. Un classeur .xlsx ne peut pas contenir de macros : Excel les supprime à l'enregistrement. Enregistrez au format Classeur Excel prenant en charge les macros (.xlsm).

La fiche « L'enregistreur de macros » est-elle gratuite ?

Oui. La fiche est en accès libre et gratuit, sans inscription : vous pouvez la lire en ligne et télécharger sa version PDF. Elle fait partie du cours VBA gratuit de mesetudesdecas.fr, qui compte 21 fiches.

Pour les formateurs

Passez de la fiche à la mise en situation

Les études de cas mesetudesdecas.fr placent vos apprenants face à un vrai besoin d'entreprise. L'étude de cas XL-05 fait automatiser un devis commercial de bout en bout, macros comprises, avec énoncé, corrigé et pas-à-pas du formateur.

Découvrir l'étude de cas XL-05
Voir aussi

Toutes les fiches du cours VBA gratuit

Voir aussi le cours gratuit sur les formules Excel

Fiche V1.2 | Dernière mise à jour : 29/10/2026 | Clément Delobel, formateur Excel et VBA