Guides Excel21 mars 2026

C'est quoi une macro dans Excel ? (Et en avez-vous encore besoin ?)

Les macros Excel expliquées simplement — ce qu'elles font, comment elles fonctionnent, et pourquoi les agents IA les remplacent pour la plupart des tâches.

C'est quoi une macro dans Excel ? (Et en avez-vous encore besoin ?)

Si vous utilisez Excel depuis plus de quelques mois, quelqu'un vous a probablement dit : « Tu devrais utiliser une macro pour ça. » Peut-être que vous avez hoché la tête et changé de sujet. Peut-être que vous avez cherché sur Google, vu les lettres V-B-A, et fermé l'onglet.

C'est compréhensible. Mais les macros ne sont pas aussi mystérieuses qu'elles en ont l'air — et comprendre ce qu'elles font réellement vaut bien cinq minutes de votre temps. Même si, comme nous allons le voir, vous n'en avez peut-être plus besoin.

Ce qu'est réellement une macro (sans jargon)

Une macro est un ensemble d'instructions qui dit à Excel de faire quelque chose automatiquement. C'est tout.

Pensez-y comme une recette de cuisine. Au lieu de sélectionner manuellement une colonne, cliquer sur trier, ajuster le format et copier le résultat — vous enregistrez ces étapes une fois, puis vous les rejouez en un seul clic ou raccourci clavier.

Sous le capot, Excel écrit ces étapes dans un langage appelé VBA (Visual Basic for Applications). Vous n'avez pas besoin de comprendre le VBA pour enregistrer une macro. Mais si vous voulez en modifier une ou en écrire une de zéro, c'est là que le VBA entre en jeu.

L'idée clé : une macro remplace des étapes manuelles répétitives par une seule action.

Enregistrer votre première macro — étape par étape

Vous n'avez pas besoin d'écrire du code pour créer votre première macro. Excel dispose d'un enregistreur intégré qui observe ce que vous faites et le traduit automatiquement en VBA.

Voici comment :

  1. Ouvrez l'onglet Développeur. Si vous ne le voyez pas, allez dans Fichier → Options → Personnaliser le ruban → cochez « Développeur ».
  2. Cliquez sur « Enregistrer une macro ». Donnez-lui un nom (sans espaces — utilisez des underscores). Vous pouvez aussi lui attribuer un raccourci clavier.
  3. Faites ce que vous voulez automatiser. Par exemple : sélectionner la colonne A, trier de A à Z, mettre la ligne d'en-tête en gras, ajuster la largeur des colonnes.
  4. Cliquez sur « Arrêter l'enregistrement ». C'est tout. Votre macro existe maintenant.
  5. Exécutez-la. Allez dans Développeur → Macros → sélectionnez la vôtre → Exécuter. Ou utilisez le raccourci que vous avez attribué.

Que s'est-il passé ? Excel a observé chaque clic et chaque frappe, et les a enregistrés sous forme de script VBA. La prochaine fois que vous devez faire la même chose, un clic remplace vingt.

Un mot de prudence

L'enregistreur capture exactement ce que vous faites — erreurs comprises. Si vous sélectionnez la cellule B7 pendant l'enregistrement, la macro ira toujours en B7, même si vos données ont grandi. C'est la plus grande limitation des macros enregistrées : elles sont rigides. Elles ne s'adaptent pas aux données qui changent.

Le VBA derrière le rideau

Voyons ce que l'enregistreur produit réellement. Supposons que vous avez enregistré une macro qui trie la colonne A et met la ligne d'en-tête en gras. Voici à quoi ressemble le VBA :

Sub MettreEnFormeDonnees()
    ' Trier la colonne A par ordre croissant
    Columns("A:A").Select
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add2 _
        Key:=Range("A1"), _
        SortOn:=xlSortOnValues, _
        Order:=xlAscending
    With ActiveWorkbook.Worksheets("Sheet1").Sort
        .SetRange Range("A1:D100")
        .Header = xlYes
        .Apply
    End With

    ' Mettre en gras la ligne d'en-tête
    Rows("1:1").Select
    Selection.Font.Bold = True

    ' Ajuster la largeur des colonnes
    Cells.Select
    Cells.EntireColumn.AutoFit
End Sub

Quelques observations :

  • C'est verbeux. Ce qui vous a pris trois clics devient quinze lignes de code.
  • C'est spécifique. La plage A1:D100 est codée en dur. Si vos données vont jusqu'à la ligne 200 le mois prochain, la macro ne le saura pas.
  • Il y a des .Select partout. C'est la signature des macros enregistrées — l'enregistreur reproduit vos clics littéralement. Le VBA écrit à la main est généralement beaucoup plus propre.

Un développeur VBA expérimenté réécrirait ça ainsi :

Sub MettreEnFormeDonnees()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1")
    Dim lastRow As Long
    lastRow = ws.Cells(ws.Rows.Count, 1).End(xlUp).Row

    ws.Range("A1:D" & lastRow).Sort Key1:=ws.Range("A1"), Order1:=xlAscending, Header:=xlYes
    ws.Rows(1).Font.Bold = True
    ws.UsedRange.EntireColumn.AutoFit
End Sub

Plus court, dynamique, sans .Select. Mais maintenant il faut comprendre le VBA suffisamment bien pour l'écrire — ce qui est une compétence différente de l'utilisation d'Excel.

Où les macros brillent (et où elles cassent)

Les macros sont réellement utiles dans des situations spécifiques :

Là où elles fonctionnent bien :

  • Tâches de formatage simples et répétables — appliquer le même style à un rapport chaque semaine
  • Raccourcis de saisie — insérer des horodatages, remplir des valeurs standard
  • Opérations sur un seul classeur — tout vit dans un seul fichier, rien d'externe ne change
  • Productivité personnelle — vous l'avez écrite, vous l'exécutez, vous la maintenez

Là où elles craquent :

  • Opérations multi-fichiers. Lire cinq classeurs différents ? Vous passerez plus de temps à gérer les chemins de fichiers, la logique d'ouverture/fermeture et la gestion d'erreurs que sur la tâche elle-même.
  • Tout ce qui implique des e-mails, des PDF ou des systèmes externes. Le VBA peut automatiser Outlook et exporter des PDF, mais le code est fragile et dépend de la version.
  • Quand la structure des données change. Une nouvelle colonne, une feuille renommée, un format de date différent — chacun de ces éléments peut casser une macro silencieusement. Elle ne lancera pas d'erreur. Elle produira simplement de mauvais résultats.
  • Environnements partagés. Les macros vivent dans les fichiers classeur (.xlsm). Les services informatiques désactivent régulièrement les macros pour des raisons de sécurité. Partager un fichier avec macros déclenche des alertes qui effraient les utilisateurs non techniques.

Le problème de maintenance dont personne ne vous prévient

Voici le scénario qui se joue dans des milliers d'entreprises :

  1. Quelqu'un dans l'équipe apprend le VBA et crée une macro qui fait gagner des heures à tout le monde.
  2. Ça fonctionne très bien pendant six mois.
  3. Cette personne quitte l'entreprise (ou change de poste, ou oublie simplement comment la macro fonctionne).
  4. La source de données change légèrement — une nouvelle colonne, un fichier renommé.
  5. La macro casse.
  6. Personne ne sait comment la réparer.
  7. L'équipe revient au traitement manuel.

Ce n'est pas hypothétique. C'est le résultat le plus courant pour les macros Excel en entreprise.

Le problème n'est pas le VBA en soi — c'est le modèle de maintenance. Les macros sont écrites par une seule personne, comprises par une seule personne, et maintenues par une seule personne. Quand cette personne n'est plus disponible, l'automatisation meurt.

Il n'y a pas non plus de contrôle de version, pas de framework de test, et aucun moyen de voir ce qu'une macro va faire avant de l'exécuter (à part lire le code). Si vous avez déjà ouvert la macro de quelqu'un d'autre et vu 500 lignes de VBA sans commentaires, vous connaissez la sensation.

Pour une comparaison détaillée de comment ça se passe avec différents outils, voir J'ai testé l'automatisation du même rapport Excel avec VBA, Python, Zapier et un agent IA.

Macros vs. agents IA : comparaison côte à côte

Si les macros sont des « instructions enregistrées », les agents IA sont des « intentions décrites ». Voici comment ils se comparent :

Macro Excel (VBA) Agent IA (ex. Reflexion)
Comment on le crée Enregistrer des clics ou écrire du VBA Décrire la tâche en français courant
Temps de mise en place 30 min – plusieurs heures 5–15 minutes
Compétence technique requise Maîtrise du VBA Aucune
Gère les données qui changent Casse si la structure change S'adapte automatiquement
Opérations multi-fichiers Possible mais complexe Intégré
Export PDF et e-mail Automatisation COM fragile Intégré
Maintenance Manuelle, par l'auteur original Automatique — décrivez les changements en langage courant
Collaboration Fichiers .xlsm partagés avec alertes de sécurité Cloud, pas de partage de fichiers nécessaire
Gestion des erreurs Vous l'écrivez vous-même (ou ça échoue silencieusement) Intégrée avec revue humaine
Historique des versions Aucun (sauf copies manuelles) Piste d'audit complète

La différence fondamentale : une macro encode comment faire quelque chose. Un agent IA comprend ce que vous voulez faire.

Quand vous écrivez une macro, vous programmez chaque étape : ouvrir ce fichier, aller à cette cellule, copier cette plage, la coller là. Quand quelque chose change, vous réécrivez les étapes.

Quand vous décrivez une tâche à un agent IA, vous dites quel doit être le résultat : « consolider ces cinq fichiers de ventes en un résumé avec les totaux par région. » L'agent détermine les étapes — et les redétermine quand les fichiers changent.

Pour en savoir plus sur comment ça fonctionne en pratique, voir Comment automatiser ses rapports Excel sans écrire de VBA.

Quand utiliser une macro, et quand s'en passer complètement

Les macros ne sont pas mortes. Elles ont encore du sens dans des situations précises :

Utilisez une macro quand :

  • La tâche est simple (moins de 20 lignes de VBA)
  • Elle opère sur un seul classeur stable
  • Vous êtes la seule personne à en avoir besoin
  • Vous aimez écrire du VBA (certaines personnes aiment vraiment ça)

Passez la macro et utilisez un agent IA quand :

  • La tâche implique plusieurs fichiers, sources de données ou formats de sortie
  • D'autres personnes dépendent du bon fonctionnement de l'automatisation
  • La structure des données pourrait changer avec le temps
  • Vous avez besoin d'envoi par e-mail, de génération de PDF ou de connexions à d'autres outils
  • Vous ne voulez pas écrire ni maintenir du code
  • Vous avez besoin que l'automatisation survive au turnover

La plupart des gens qui cherchent « c'est quoi une macro dans Excel » veulent arrêter de faire la même tâche fastidieuse chaque semaine. Les macros étaient la meilleure réponse à cette question pendant trente ans. Elles ne le sont plus.

La meilleure question n'est pas « comment créer une macro ? » — c'est « comment décrire ce que je veux faire ? » Si vous pouvez écrire une phrase expliquant la tâche, un agent IA peut l'automatiser. Pas de VBA, pas de débogage, pas de maintenance.

Si vous êtes curieux de savoir ce que sont les agents IA et comment ils fonctionnent au-delà d'Excel, voir Introduction aux agents IA. Et si vous voulez en voir un gérer un vrai workflow Excel de bout en bout, essayez Reflexion gratuitement — décrivez votre première tâche en français et regardez-le s'exécuter.


Vous hésitez encore entre les macros et une approche plus intelligente ? Envoyez-nous votre workflow et nous vous montrerons les deux options côte à côte — à quoi ressemblerait la macro, et à quoi ressemblerait l'alternative avec un agent IA. Sans engagement, juste de la clarté.

Lectures complémentaires

Citer cet article

<a href="https://www.reflexion-labs.com/fr/blog/what-is-a-macro-in-excel">C'est quoi une macro dans Excel ? (Et en avez-vous encore besoin ?)</a> — Reflexion Labs