
Si vous vous retrouvez à effectuer exactement la même séquence de clics, d'étapes de mise en forme et d'ajustements de données dans Excel jour après jour, vous perdez un temps précieux. La bonne nouvelle, c'est qu'Excel dispose d'un « magnétophone » intégré capable de mémoriser ces actions et de les rejouer en une fraction de seconde. Cet outil s'appelle une Macro.
Apprendre à utiliser les macros Excel est souvent le plus grand pas qu'un utilisateur franchit pour passer du statut de débutant à celui d'expert en feuilles de calcul. L'automatisation élimine les erreurs de saisie manuelle, garantit la cohérence et libère votre emploi du temps pour des analyses plus critiques. En fait, c'est en apprenant l'automatisation par macros que de nombreux professionnels réduisent considérablement leur charge de travail — vous pouvez même lire comment une startup a économisé 20 heures par semaine grâce à l'automatisation Excel.
Dans ce guide complet, nous allons vous expliquer exactement ce qu'est une macro, comment activer les outils dont vous avez besoin, et comment enregistrer, exécuter et modifier votre toute première macro Excel.
À la base, une macro est une séquence enregistrée d'actions ou de commandes que vous pouvez exécuter en une seule opération. En coulisses, lorsque vous enregistrez une macro, Excel traduit vos clics de souris et vos frappes au clavier dans un langage de programmation appelé VBA (Visual Basic pour Applications).
Vous n'avez pas besoin de savoir écrire du code VBA pour créer des macros très efficaces. En utilisant l'Enregistreur de macros, vous effectuez simplement votre tâche normalement — comme appliquer une mise en forme en gras, insérer une formule IF ou SUM, ou ajuster la largeur des colonnes — et Excel écrit automatiquement le code nécessaire pour vous.
Par défaut, les outils nécessaires pour enregistrer et gérer les macros sont masqués dans Excel afin d'éviter que les débutants ne modifient accidentellement leurs classeurs. Votre première étape consiste à activer l'onglet Développeur.
Vous devriez maintenant voir l'onglet Développeur sur votre ruban Excel, à côté des onglets Affichage ou Aide. Cet onglet est votre centre de contrôle pour tout ce qui concerne les macros et l'automatisation.
Prenons un exemple pratique et concret. Imaginez que vous exportiez chaque matin un rapport de données de vente depuis le logiciel de votre entreprise. Les données brutes sont toujours désordonnées : les colonnes sont trop étroites, les en-têtes ne sont pas mis en forme, et vous devez toujours ajouter une ligne de total en bas à l'aide d'une fonction SUM.
Au lieu de le faire manuellement tous les jours, nous allons enregistrer une macro pour mettre en forme ce rapport instantanément.
Avant de lancer l'enregistrement, il est crucial de planifier vos étapes. L'Enregistreur de macros est littéral : il enregistre les erreurs, les clics supplémentaires et le défilement. Connaître votre séquence à l'avance garantit une macro propre et efficace.
Pour notre exemple, nous supposerons que vous avez des données dans les colonnes A à D, avec des en-têtes sur la ligne 1. Les étapes prévues sont les suivantes :
=SUM(D2:D100) (en supposant que vos données s'arrêtent à la ligne 100). Appuyez sur Entrée.Félicitations ! Vous venez d'enregistrer votre première macro avec succès.
Pour tester la puissance de ce que vous venez de créer, annulons la mise en forme. Appuyez plusieurs fois sur Ctrl + Z jusqu'à ce que vos données retrouvent leur état brut et peu esthétique. Maintenant, exécutons la macro pour regarder Excel faire le travail à votre place.
En moins d'une seconde, Excel sélectionne l'en-tête, applique la mise en forme (gras et bleu), redimensionne vos colonnes et insère la fonction SUM. Une tâche qui prendrait 30 secondes manuellement ne prend que quelques millisecondes.
Vous n'avez pas besoin d'être un programmeur pour regarder en coulisses. Comprendre le code généré par Excel vous aide à effectuer de petites modifications sans avoir à réenregistrer toute la macro.
Pour visualiser votre code, allez dans l'onglet Développeur et cliquez sur Visual Basic (ou appuyez sur Alt + F11). Cela ouvre l'Éditeur VBA. Sur le côté gauche, double-cliquez sur Modules, puis sur Module1. Vous verrez quelque chose qui ressemble à ceci :
Sub FormatDailyReport()
'
' FormatDailyReport Macro
' Formats headers, autofits columns, and adds a total.
'
Rows("1:1").Select
Selection.Font.Bold = True
With Selection.Interior
.ThemeColor = xlThemeColorLight2
.TintAndShade = 0
End With
Columns("A:D").Select
Selection.EntireColumn.AutoFit
Range("D101").Select
ActiveCell.FormulaR1C1 = "=SUM(R[-99]C:R[-1]C)"
End Sub
Même si vous ne connaissez pas le langage VBA, vous pouvez probablement comprendre sa logique. Rows("1:1").Select signifie qu'Excel a sélectionné la première ligne. Selection.Font.Bold = True signifie qu'il l'a mise en gras. Si vous vouliez modifier les colonnes sélectionnées pour aller de A à F au lieu de A à D, il vous suffirait de changer manuellement Columns("A:D").Select en Columns("A:F").Select dans l'éditeur de texte et d'enregistrer.
Si vous souhaitez apprendre à écrire ces scripts à partir de zéro, vous informer sur les bases du VBA est une excellente étape suivante.
L'une des difficultés les plus courantes pour les débutants concerne la façon dont les macros sélectionnent les cellules. Par défaut, l'Enregistreur de macros utilise des Références absolues. Cela signifie que si vous cliquez sur la cellule B5 pendant l'enregistrement, la macro cliquera toujours exactement sur la cellule B5 à chaque exécution, quel que soit l'emplacement de votre curseur actif.
Parfois, vous souhaitez qu'une macro formate une cellule par rapport à l'emplacement actuel de votre curseur. Pour ce faire, vous devez activer l'option Utiliser les références relatives (située juste sous le bouton Enregistrer une macro dans l'onglet Développeur) avant de commencer l'enregistrement.
Si vous ne connaissez pas ce concept, vous pouvez réviser la différence entre références relatives et absolues pour comprendre comment Excel gère le positionnement. Ci-dessous, une comparaison rapide du comportement des deux modes dans l'enregistreur de macros :
| Mode d'enregistrement | Comment ça marche | Idéal pour... |
|---|---|---|
| Références absolues (Par défaut) | Enregistre l'adresse exacte de la cellule (par ex., Range("C10").Select). La macro retournera toujours en C10. | Mettre en forme des en-têtes fixes, appliquer une fonction VLOOKUP à un tableau de données statique spécifique, ou placer un titre dans la cellule A1. |
| Références relatives | Enregistre le décalage par rapport à la cellule active (par ex., ActiveCell.Offset(1, 0).Select). | Créer des macros qui mettent en forme « la ligne suivante », ou appliquer un style spécifique à la cellule actuellement sélectionnée. |
Pour vous assurer que vos macros s'exécutent correctement à chaque fois, gardez à l'esprit ces bonnes pratiques pour les débutants :
L'enregistrement de macros est le point d'entrée idéal dans l'automatisation des feuilles de calcul. Une fois que vous maîtriserez l'enregistreur, vous commencerez naturellement à identifier d'autres goulots d'étranglement dans votre routine hebdomadaire. Vous finirez peut-être par automatiser entièrement vos rapports avec Excel VBA, où la récupération des données, le nettoyage et l'envoi d'e-mails se font sans aucune intervention de votre part.
Cependant, apprendre la syntaxe de programmation n'est pas pour tout le monde. Si vous avez du mal à trouver les bonnes formules INDEX, MATCH ou IF à intégrer dans vos macros, vous n'avez pas besoin de passer des heures à chercher sur Google. Décrivez simplement ce que vous souhaitez accomplir en langage naturel à GPTExcel, et il générera instantanément la formule ou le bout de code VBA parfait à coller dans votre classeur.
En combinant l'Enregistreur de macros natif avec des outils d'IA modernes, vous pouvez automatiser presque n'importe quelle tâche répétitive à votre bureau, vous donnant ainsi plus de temps pour vous concentrer sur ce qui compte vraiment.
Les macros que vous enregistrez vous-même sont totalement sûres. Cependant, comme VBA est un langage de programmation puissant, des codes malveillants peuvent être insérés dans les macros par des tiers. Vous ne devez exécuter des macros que depuis des classeurs téléchargés depuis des sources de confiance. C'est pourquoi Excel désactive les macros par défaut et affiche un avertissement de sécurité lorsque vous ouvrez un fichier .xlsm.
Non. Vous ne pouvez pas utiliser le bouton Annuler (Ctrl + Z) pour inverser les actions d'une macro. Avant de tester une nouvelle macro sur des données importantes, il est fortement recommandé d'enregistrer une copie de sauvegarde de votre classeur. Si la macro se comporte de manière inattendue, vous pouvez simplement fermer le fichier sans l'enregistrer et rouvrir votre sauvegarde.
Les fichiers Excel standard (.xlsx) sont vidés de tout code pour des raisons de sécurité. Si vous essayez d'enregistrer un classeur contenant une macro au format .xlsx, Excel affichera un avertissement. Pour conserver les macros enregistrées, vous devez modifier le menu déroulant « Type d'enregistrement » sur « Classeur Excel prenant en charge les macros (*.xlsm) ».
Oui, tout à fait. Lors de l'enregistrement d'une macro, toute formule que vous saisissez dans une cellule — qu'il s'agisse d'une simple formule SUM ou d'une instruction IF imbriquée complexe — sera enregistrée. Lorsque vous exécuterez la macro plus tard, Excel insérera cette formule exacte dans la cellule désignée et en calculera les résultats instantanément.
Découvrez comment automatiser vos tâches Excel sans VBA avec Power Automate. Apprenez à créer des flux, traiter vos données et connecter d'autres applications.
Découvrez comment créer des systèmes de reporting automatisés dans Excel à l'aide de VBA. Apprenez à extraire des données, insérer des formules, formater des cellules et exporter des rapports grâce à du code étape par étape.
Commencez à programmer dans Excel avec VBA. Découvrez l'onglet Développeur, les variables, les boucles, les conditions et comment écrire votre première macro fonctionnelle de A à Z.