Comment faire une macro Excel et enfin automatiser vos tâches répétitives

Pour créer une macro sur Excel, le plus simple est de passer par l'enregistreur de macros. C'est un outil formidable, accessible depuis l'onglet "Développeur", qui va tout simplement observer ce que tu fais – tes clics, tes mises en forme, tes formules – et le traduire tout seul en code VBA. Résultat ? Tu peux rejouer des séquences complexes en un clic, sans jamais avoir à écrire la moindre ligne de code toi-même.
Marre de perdre des heures sur des tâches qu'une macro peut faire en 10 secondes ?
Ce scénario te dit quelque chose ? C'est lundi matin, et le rituel recommence : extraire les données brutes de ton ERP, appliquer les mêmes filtres, faire des copier-coller interminables, et mettre en forme ce satané rapport hebdomadaire.

Ces tâches répétitives ne sont pas juste rébarbatives. Elles te volent un temps précieux, un temps que tu pourrais dédier à des analyses qui ont un vrai impact. Si tu ne sais pas comment faire une macro Excel, tu passes à côté de l'outil d'automatisation le plus puissant du logiciel.
Concrètement, une macro, c'est juste une suite d'actions enregistrées que tu peux déclencher à volonté. Imagine transformer un export brut de ton CRM en un tableau de bord propre et lisible en moins de 10 secondes. C'est exactement ce que je vais t'apprendre à faire.
En France, le constat est assez parlant : si plus de 85 % des entreprises jonglent avec Excel au quotidien, à peine 22 % des utilisateurs savent enregistrer une macro simple. Cette statistique, tirée d'une étude sur Les Makers, montre bien pourquoi tant de professionnels s'épuisent sur des manipulations manuelles.
Pour te donner une idée, un contrôleur de gestion peut facilement perdre jusqu'à 3 heures par semaine sur des tâches répétitives comme le nettoyage de données ou la création de tableaux croisés dynamiques.
Dans ce guide, je vais t'accompagner pas à pas pour créer ta toute première macro, même si le code te fait peur. L'objectif est simple : rendre l'automatisation accessible et utile pour tes défis du quotidien. D'ailleurs, si le sujet t'intéresse, tu trouveras plein d'autres astuces Excel pour gagner du temps dans notre article dédié.
Préparer le terrain pour l'automatisation
Alors, prêt à mettre les mains dans le cambouis ? Avant de te lancer tête baissée dans la création de ta première macro, il y a deux petites choses à régler. C'est un peu comme préparer ses ingrédients avant de cuisiner : c'est rapide, essentiel, et ça évite les mauvaises surprises.
1. Faire apparaître l'onglet Développeur
Par défaut, l'onglet Développeur est un peu timide, il se cache pour ne pas surcharger l'interface des utilisateurs qui n'en ont pas besoin. Mais pour nous, c'est la porte d'entrée vers toute la magie de l'automatisation. Il est temps de le faire sortir de sa cachette.
La manipulation est toute simple :
- Fais un clic droit n'importe où sur le ruban (la grande barre d'outils en haut d'Excel).
- Choisis Personnaliser le ruban….
- Dans la liste qui apparaît à droite, cherche la case Développeur et coche-la.
- Clique sur OK, et le tour est joué.
Et voilà, un nouvel onglet vient d'apparaître, prêt à te donner accès à l'enregistreur de macros, à l'éditeur VBA et à bien d'autres outils puissants.
C'est exactement cette petite case qu'il faut cocher dans la fenêtre des options.

Rien qu'avec cette étape, tu viens de passer dans la cour des utilisateurs avertis d'Excel.
2. Choisir le bon format de fichier
Le deuxième point, c'est un détail qui a toute son importance : le format de ton fichier. Une macro, c'est du code, et ça ne se sauvegarde pas dans n'importe quel classeur Excel. Le format standard, le .xlsx, ne peut tout simplement pas la contenir.
J'ai vu trop de gens passer des heures à perfectionner une macro, pour ensuite tout perdre en enregistrant au mauvais format. C'est l'erreur classique du débutant, et elle est facile à éviter !
Pour que ton travail soit conservé, il faut impérativement enregistrer ton fichier en tant que Classeur Excel prenant en charge les macros, ce qui lui donnera l'extension .xlsm. C'est aussi une question de sécurité : cette extension signale à quiconque ouvre le fichier qu'il contient du code potentiellement actif.
Ton environnement est maintenant paré. Tu as tous les outils en main pour commencer à enregistrer ta toute première automatisation.
Enregistrer ta première macro sans écrire une seule ligne de code
C'est le moment de vérité. Assez de théorie, passons à la pratique ! Nous allons créer ensemble ta toute première macro en utilisant uniquement l'enregistreur. Vois cet outil comme une caméra qui filme absolument toutes tes actions dans Excel : chaque clic, chaque formatage, chaque formule.

Pour que ce soit concret, prenons un exemple que tout le monde connaît : la mise en forme d'un rapport mensuel. Tu reçois un export de données brutes et, chaque mois, c'est la même rengaine. Il faut appliquer le même formatage (titres en gras, format de date correct, couleurs d'en-tête, ajustement des colonnes). Faisons-le une bonne fois pour toutes !
Lancer l'enregistrement pas à pas
Ouvre une feuille Excel avec quelques données brutes, comme un petit tableau de ventes. Une fois que c'est prêt, suis le guide.
- Direction l'onglet Développeur que nous avons activé juste avant.
- Clique sur le bouton Enregistrer une macro. Une petite fenêtre de dialogue s'ouvre, c'est le centre de contrôle de ta future automatisation.
- Remplis les champs importants :
- Nom de la macro : Choisis un nom clair et, surtout, sans espaces. C'est non négociable. Un nom comme
MiseEnForme_Rapport_Mensuelest parfait. - Touche de raccourci : C'est optionnel, mais crois-moi, c'est une pépite. Tu peux assigner une combinaison comme
Ctrl+Maj+Mpour lancer ta macro à la vitesse de l'éclair. - Enregistrer la macro dans : Pour commencer, sélectionne "Ce classeur". La macro ne sera alors disponible que dans ce fichier spécifique.
- Description : Ne saute pas cette étape ! Un petit mot sur ce que fait la macro te sauvera la vie dans six mois quand tu l'auras oubliée.
- Nom de la macro : Choisis un nom clair et, surtout, sans espaces. C'est non négociable. Un nom comme
- Quand tout est bon, clique sur OK. À partir de cet instant précis, Excel enregistre absolument tout !
Pour t'aider à bien paramétrer cette étape cruciale, voici un petit tableau récapitulatif des bonnes habitudes à prendre immédiatement.
Bonnes pratiques pour nommer et décrire tes macros
| Élément | Bonne pratique | Exemple concret | Pourquoi c'est important |
|---|---|---|---|
| Nom de la macro | Utilise des verbes d'action. Sépare les mots par des _ (underscores). | Formater_Tableau_Ventes |
Permet de comprendre immédiatement ce que fait la macro, même des mois plus tard. |
| Touche de raccourci | Évite les raccourcis existants (Ctrl+C, Ctrl+S). Privilégie Ctrl+Maj+[Lettre]. |
Ctrl + Maj + F (pour Formatage) |
Empêche les conflits avec les fonctions de base d'Excel et rend l'exécution intuitive. |
| Enregistrer dans | Choisis "Ce classeur" pour des tâches spécifiques au fichier. | "Ce classeur" | Isole la macro et évite de surcharger ton Excel avec des macros inutiles dans d'autres fichiers. |
| Description | Sois bref mais précis. Indique ce qu'elle fait et ses éventuelles limites. | "Applique le style 'Rapport Mensuel' aux données de la feuille active." | C'est ton pense-bête personnel. Indispensable pour la maintenance et le partage. |
Prendre deux minutes pour bien remplir ces champs est un investissement qui paie toujours sur le long terme.
Appliquer le formatage et arrêter l'enregistrement
Maintenant, à toi de jouer. Effectue manuellement toutes les actions de mise en forme que tu ferais d'habitude sur tes données :
- Mets les en-têtes de colonnes en gras.
- Applique une couleur de fond à cette ligne d'en-tête.
- Sélectionne les colonnes et double-clique entre elles pour un ajustement automatique de la largeur.
- Change le format des dates ou des chiffres si nécessaire (par ex., de
MM/JJ/AAAAàJJ/MM/AAAA).
Mon astuce bonus : Sois précis et direct. Chaque clic superflu, chaque correction, chaque défilement inutile… l'enregistreur les mémorise. Cela alourdit le code et peut même créer des erreurs. Va droit au but et ne fais que les actions essentielles.
Une fois que ton rapport est impeccable, retourne dans l'onglet Développeur et clique sur Arrêter l'enregistrement.
Et voilà ! Tu viens de créer ta première macro sans taper une seule ligne de code. La prochaine fois que tu recevras tes données brutes, il te suffira de lancer la macro (via le raccourci ou le menu) pour que tout se mette en forme en une fraction de seconde.
Pour aller plus loin, n'hésite pas à explorer les nombreux tutoriels Excel disponibles au sein du Dojo Club, où nous abordons des cas encore plus poussés pour transformer ta façon de travailler.
Lance et ajuste ta macro en jetant un œil au code VBA
Félicitations ! Tu as enregistré ta première macro, le plus gros du travail est fait. Maintenant, il est temps de la mettre au travail et de voir la magie opérer.
Heureusement, Excel propose plusieurs façons de lancer une macro. Il y en a pour tous les goûts, de la plus rapide à la plus élégante. À toi de voir ce qui colle le mieux à ta façon de travailler.
Les différentes manières de lancer ta macro
Il existe au moins trois méthodes principales pour exécuter une macro. Chacune a ses propres avantages, selon la situation.
- Le raccourci clavier : C'est la méthode "flash". Si tu as défini une combinaison de touches comme
Ctrl+Maj+Men enregistrant, il suffit de l'utiliser. En une fraction de seconde, ta mise en forme est appliquée. C'est parfait pour les tâches que tu répètes des dizaines de fois par jour. - La liste des macros : Un grand classique. Va dans l'onglet Développeur, clique sur Macros, choisis la tienne dans la liste, puis clique sur Exécuter. C'est une méthode très fiable, surtout quand on commence à avoir plusieurs macros et qu'on ne se souvient plus de tous les raccourcis.
- Le bon vieux bouton : Voilà la petite touche qui fait toujours son effet, surtout si tu partages tes fichiers. Tu peux insérer un bouton cliquable directement sur ta feuille. Pour cela, rends-toi dans Développeur > Insérer > Bouton (Contrôle de formulaire). Dessine-le à l'endroit voulu et assigne-lui ta macro. C'est idéal pour simplifier la vie de collègues moins familiers avec Excel.
Soulever le capot pour découvrir le code VBA
L'enregistreur de macros est un outil fantastique, mais son vrai pouvoir se révèle quand on ose regarder ce qui se passe sous le capot. Et le moteur, c'est le VBA (Visual Basic for Applications). Mais pas de panique, nul besoin d'être un développeur chevronné pour y jeter un œil.
Pour voir le code que l'enregistreur a écrit pour toi, va dans l'onglet Développeur > Visual Basic (ou utilise le raccourci Alt+F11). L'éditeur VBA va s'ouvrir. Sur la gauche, tu devrais voir un dossier "Modules". Double-clique dessus, et le code de ta macro apparaîtra.
Ça peut paraître un peu obscur au premier abord, mais regarde de plus près. Le code est souvent très logique et ressemble à des instructions en anglais.
Ne vois pas le code comme un mur infranchissable, mais plutôt comme une recette de cuisine. L'enregistreur a noté les ingrédients et les étapes. Ton rôle, c'est d'apprendre à ajuster le sel ou à changer un légume.
Tu pourrais tomber sur quelque chose qui ressemble à ça :
Sub MiseEnForme_Rapport_Mensuel()
'
' MiseEnForme_Rapport_Mensuel Macro
'
'
Range("A1:D1").Select
With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 65535 ' -- Ça, c'est du jaune
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Sub
Même sans aucune connaissance en programmation, on devine que Range("A1:D1").Select sélectionne les cellules de A1 à D1. Et que la ligne .Color = 65535 s'occupe de la couleur.
Le but ici n'est pas de te transformer en expert du VBA, mais de te montrer que tu peux déjà faire des ajustements simples. Si le jaune ne te plaît plus, tu peux chercher le code d'une autre couleur et simplement remplacer le nombre 65535. Si ton rapport s'est agrandi avec une colonne E, il te suffit de changer "A1:D1" en "A1:E1".
C'est cette capacité à faire de petites retouches qui va décupler ton efficacité et te rendre bien plus autonome. Si l'aventure te tente et que tu souhaites comprendre comment créer une macro VBA de A à Z, nous avons justement un outil pour te guider.
Astuces avancées pour rendre tes macros vraiment intelligentes
Bravo ! Tu as enregistré ta première macro, peut-être même jeté un œil au code VBA. Tu fais déjà partie de ceux qui n'ont pas peur de soulever le capot d'Excel. Mais pour que tes macros deviennent de véritables assistants personnels, il faut aller un peu plus loin.
Le principal écueil de l'enregistreur, c'est son côté un peu trop… littéral. Par défaut, il enregistre les actions en mode "absolu". Si tu cliques sur la cellule A1 pour y mettre du gras, la macro le fera toujours et uniquement sur A1. C'est rigide, et dans la vraie vie, nos tableaux changent tout le temps. La solution ? Les références relatives.
Le secret des macros dynamiques : les références relatives
Imagine l'enregistreur comme un GPS un peu basique. Le mode par défaut lui fait enregistrer une destination précise : "aller au 123 rue de Rivoli, Paris". C'est une référence absolue. Peu importe d'où tu pars, il t'enverra toujours à cette adresse.
Maintenant, si tu pouvais lui dire : "d'où que je sois, avance de 3 rues et tourne à droite", ce serait bien plus flexible, non ? C'est exactement ce que font les références relatives.
Pour basculer dans ce mode, c'est tout simple :
- Va dans l'onglet Développeur.
- Avant de lancer l'enregistrement, clique sur le bouton Utiliser les références relatives. Tu verras qu'il reste comme "enfoncé", signe que le mode est actif.
- Enregistre ta macro comme d'habitude.
À partir de cet instant, Excel ne note plus les adresses des cellules (A1, B2…) mais les déplacements que tu fais par rapport à la cellule active.
Un cas concret que je rencontre tout le temps : tu dois insérer une ligne "Total" sous un tableau de ventes qui n'a jamais le même nombre de lignes d'un mois sur l'autre. En absolu, c'est la galère. En relatif, la macro se positionne sur la dernière cellule, descend d'une ligne, écrit "Total" et applique une formule
SOMMEsur la plage juste au-dessus. Et ça marche à tous les coups, que le tableau fasse 10 ou 10 000 lignes !
Comparatif : références absolues vs. relatives
| Type de référence | Comment ça fonctionne | Quand l'utiliser (Exemple) | Code VBA généré (Exemple) |
|---|---|---|---|
| Absolue (par défaut) | La macro enregistre l'adresse exacte de la cellule (ex: B4). L'action sera toujours répétée sur cette cellule. |
Appliquer un titre ou un formatage à un en-tête qui est toujours au même endroit, comme la cellule A1. |
Range("B4").Select |
| Relative | La macro enregistre le déplacement depuis la cellule active (ex: "descendre d'une cellule, aller une à droite"). | Appliquer un calcul sur la cellule à droite de la cellule active, peu importe où elle se trouve dans la feuille. | ActiveCell.Offset(1, 1).Select |
En résumé, l'absolu est pour les points fixes, le relatif pour les actions qui doivent s'adapter au contexte.
La sécurité : un point à ne jamais négliger
Tu as forcément déjà vu cette barre jaune d'avertissement : "AVERTISSEMENT DE SÉCURITÉ Les macros ont été désactivées". C'est une protection indispensable. Une macro, c'est du code, et un fichier .xlsm récupéré sur internet pourrait très bien contenir des instructions malveillantes. Par prudence, Excel bloque tout par défaut.
Pour travailler sereinement sur tes propres fichiers, la bonne pratique est de définir des "emplacements approuvés". Il s'agit simplement de dossiers sur ton ordinateur que tu déclares comme étant sûrs.
Pour en configurer un :
- Va dans Fichier > Options > Centre de gestion de la confidentialité.
- Clique sur le bouton Paramètres du Centre de gestion de la confidentialité….
- Dans la nouvelle fenêtre, choisis Emplacements approuvés, puis ajoute le dossier où tu sauvegardes tes fichiers Excel avec macros.
Et voilà ! Tous les fichiers de ce dossier s'ouvriront sans le fameux avertissement, te faisant gagner du temps tout en te protégeant des fichiers d'origine inconnue.
L'astuce qui change tout : commente ton code
Même si tu n'écris pas le code toi-même, prends cette habitude dès maintenant. Quand tu ouvres l'éditeur VBA, ajoute des commentaires pour expliquer ce que tu fais. C'est une discipline que l'on enseigne à tous les membres du Dojo, car elle est fondamentale.
Un commentaire en VBA, c'est très simple : ça commence par une apostrophe ('). Tout ce qui suit sur la même ligne est alors ignoré par Excel. C'est un mémo pour toi, pour ton "toi" du futur, ou pour un collègue qui reprendra ton travail.
' Cette section met en forme les en-têtes du tableau
Range("A1:D1").Select
With Selection.Font
.Bold = True ' Met le texte en gras pour le faire ressortir
End With
Crois-en mon expérience : dans six mois, en rouvrant cette macro pour la faire évoluer, tu te remercieras d'avoir pris ces quelques secondes pour laisser des notes. C'est ce qui distingue un bricolage rapide d'un travail propre et professionnel.
En résumé : les étapes clés pour créer ta macro
Félicitations ! Tu viens de faire un grand pas en avant pour vraiment dompter l'automatisation sur Excel. Ce n'est que le début, mais c'est une étape décisive.
Reprenons rapidement le chemin parcouru :
- Préparation : Tu as activé l'onglet Développeur et compris l'importance d'enregistrer tes fichiers au format .xlsm.
- Enregistrement : Tu as utilisé l'enregistreur pour créer une macro qui automatise une tâche de mise en forme concrète, sans toucher au code.
- Exécution : Tu sais maintenant lancer ta macro via un raccourci clavier, le menu des macros ou même un bouton cliquable.
- Optimisation : Tu as eu la curiosité d'ouvrir l'éditeur VBA pour voir le code, et tu comprends la différence cruciale entre les références absolues (fixes) et relatives (dynamiques).
Ce petit schéma résume bien cette dualité entre les références absolues, qui sont un point d'ancrage fixe, et les références relatives, qui apportent la flexibilité.

Savoir jongler entre ces deux modes est vraiment ce qui te permettra de créer des automatisations robustes et intelligentes.
Le mot de la fin ? La pratique, encore et toujours. Prends une petite tâche récurrente que tu fais chaque semaine et essaie de l'automatiser. Même si ce n'est pas parfait du premier coup, le temps gagné te motivera à continuer. N'oublie jamais que chaque expert a un jour été un débutant. Tu es sur la bonne voie, alors ne lâche rien !
FAQ : Tes questions sur les macros Excel
Même avec le meilleur des guides, il reste souvent quelques zones d'ombre. C'est parfaitement normal ! Faisons le tour des questions les plus fréquentes pour t'aider à démarrer sur de bonnes bases et à éviter les pièges classiques.
Catastrophe, ma macro a tout cassé ! Je peux faire Ctrl+Z ?
C'est LA question que l'on redoute de se poser. Et la réponse est malheureusement non. Une fois qu'une macro a terminé son travail, il est impossible d'annuler ses actions avec la commande Ctrl+Z habituelle.
Voilà pourquoi il faut prendre une précaution essentielle : teste toujours, toujours, toujours tes macros sur une copie de ton fichier de travail. Jamais sur l'original ! C'est ton filet de sécurité.
Si tu te rends compte que la macro part dans tous les sens pendant qu'elle s'exécute, il y a une issue de secours : presse la touche Échap (Esc) pour l'interrompre brutalement.
Si je crée une macro sur mon PC, est-ce qu'elle marchera sur le Mac de mon collègue ?
Dans la plupart des cas, oui. Une macro créée avec une version récente d'Excel (comme Microsoft 365 ou Excel 2019) sera parfaitement fonctionnelle sur une autre version récente. Les soucis de compatibilité surgissent surtout avec des dinosaures comme Excel 2003, ou lors du passage entre un environnement PC et Mac.
Le cas particulier du Mac : Attention, certaines commandes VBA ne se comportent pas de la même manière sur Mac, surtout celles qui touchent à la gestion des fichiers et des dossiers. Pour garantir que ta macro fonctionne partout, contente-toi des actions de base sur les cellules, les feuilles et les classeurs.
Un conseil simple : si tu partages des fichiers .xlsm avec ton équipe, essayez de rester sur des versions d'Excel assez proches pour éviter les maux de tête.
Pourquoi ma macro est-elle aussi lente qu'un escargot ?
C'est un problème très courant. Souvent, la coupable est l'interaction permanente avec l'écran. Chaque fois que ton code sélectionne une cellule, active une feuille ou fait défiler la page, Excel doit rafraîchir tout l'affichage. C'est cette mise à jour visuelle qui consomme un temps fou.
Heureusement, il existe une astuce simple pour booster la vitesse de presque n'importe quelle macro. Il suffit d'ajouter deux lignes de code :
- Au tout début de ton code VBA, juste après la ligne
Sub MaMacro(), ajoute cette instruction :Application.ScreenUpdating = False. - Ensuite, juste avant la fin (
End Sub), n'oublie surtout pas de réactiver le rafraîchissement avec :Application.ScreenUpdating = True.
Cette petite modification demande à Excel de ne plus se soucier de l'affichage pendant que le code travaille. Le résultat est spectaculaire : une macro qui prenait 30 secondes peut s'exécuter en moins d'une seconde. C'est le jour et la nuit.
Tu veux aller plus loin ?
Rejoins Le Dojo Club pour accéder à des formations complètes, des lives experts et une communauté d'entraide.
Essayer pendant 30 jours