Chaque mois, vous reformatez le même tableau, vous copiez les mêmes colonnes, vous appliquez le même tri. Ces gestes prennent quelques minutes à chaque fois, mais cumulés sur l’année, ils représentent des heures perdues. Les macros dans Excel permettent d’enregistrer ces séquences d’actions et de les rejouer en un clic. Le principe est simple, mais plusieurs pièges techniques méritent d’être compris avant de se lancer.
Macro Excel et format de fichier : le piège que les débutants découvrent trop tard
Vous avez déjà passé vingt minutes à enregistrer une macro, puis constaté qu’elle avait disparu après la sauvegarde ? Le problème vient du format de fichier. Un classeur contenant des macros doit être enregistré en .xlsm, pas en .xlsx classique. Si vous conservez le format par défaut, Excel supprime silencieusement tout le code VBA à l’enregistrement.
Le format .xlsb (binaire) fonctionne aussi, mais il est moins courant et peut poser des problèmes de compatibilité avec certains outils tiers. En pratique, adoptez le réflexe .xlsm dès que vous créez votre première macro.
Pour changer de format : Fichier, Enregistrer sous, puis sélectionnez « Classeur Excel prenant en charge les macros (.xlsm) » dans la liste déroulante. Cette étape paraît anecdotique, mais c’est la première cause de frustration chez les utilisateurs qui débutent avec l’automatisation dans Excel.

Enregistrer une macro sans écrire une ligne de code VBA
L’enregistreur de macros est l’outil le plus accessible pour automatiser des tâches répétitives. Il capture chaque action que vous effectuez dans le classeur (sélection de cellules, mise en forme, copier-coller, tri) et la traduit automatiquement en code VBA.
Accéder à l’enregistreur depuis l’onglet Développeur
L’onglet Développeur n’est pas visible par défaut. Pour l’activer, rendez-vous dans les options d’Excel, section « Personnaliser le ruban », puis cochez « Développeur ». Une fois affiché, cliquez sur « Enregistrer une macro ».
Excel vous demande alors un nom pour la macro. Évitez les espaces et les caractères spéciaux dans le nom : utilisez des underscores ou la casse CamelCase (par exemple, FormatRapportMensuel). Vous pouvez aussi attribuer un raccourci clavier pour lancer la macro plus tard.
Ce que l’enregistreur capture (et ce qu’il rate)
L’enregistreur fonctionne bien pour les actions linéaires : appliquer un format de cellules, trier des données, insérer une formule de calcul dans une colonne. En revanche, il ne gère pas les boucles ni les conditions. Si votre processus inclut une logique du type « si la cellule contient telle valeur, alors faire ceci », il faudra modifier le code VBA manuellement dans l’éditeur Visual Basic.
Voici les tâches que l’enregistreur automatise facilement :
- Appliquer une mise en forme identique sur plusieurs feuilles (couleurs, polices, largeurs de colonnes)
- Copier des données d’un onglet vers un autre selon un schéma fixe
- Trier et filtrer un tableau de données selon des critères récurrents
- Insérer des en-têtes ou des formules standardisées dans un classeur vierge

Sécurité des macros dans Microsoft 365 : ce qui a changé
Les macros Excel ont mauvaise réputation côté sécurité, et pour une bonne raison : elles peuvent exécuter du code arbitraire sur votre machine. Microsoft a durci ses règles ces dernières années.
Les macros provenant d’Internet sont désormais bloquées par défaut dans Microsoft 365. Concrètement, si vous téléchargez un fichier .xlsm depuis un e-mail ou un navigateur, Excel refuse d’exécuter les macros. Un bandeau jaune s’affiche, mais le bouton « Activer le contenu » n’apparaît plus comme avant.
Ce blocage s’applique aux fichiers marqués par Windows comme provenant d’une source externe (le fameux « Mark of the Web »). Pour débloquer un fichier de confiance, faites un clic droit sur le fichier dans l’Explorateur Windows, ouvrez les Propriétés, puis cochez « Débloquer » en bas de la fenêtre.
Configuration recommandée du Centre de gestion de la confidentialité
Dans les paramètres de macros du Centre de gestion de la confidentialité, la configuration la plus sûre est « Désactiver toutes les macros sauf celles signées numériquement ». Cette option vous protège des fichiers malveillants tout en autorisant les macros que vous avez vous-même créées ou celles provenant d’éditeurs de confiance.
Pour y accéder : Fichier, Options, Centre de gestion de la confidentialité, Paramètres du Centre de gestion de la confidentialité, puis Paramètres des macros.
Quand une macro Excel atteint ses limites
Automatiser avec des macros VBA reste pertinent pour des processus stables et bien définis. En revanche, les macros deviennent fragiles dès que le processus change souvent ou que plusieurs utilisateurs interviennent sur le même fichier.
Les causes de dysfonctionnement les plus fréquentes sont :
- Un changement de version d’Office qui modifie le comportement de certaines fonctions VBA
- Des références VBA manquantes après migration vers un autre poste
- Un chemin de fichier codé en dur dans la macro qui n’existe plus sur la nouvelle machine
- Le mode création d’un bouton de macro resté activé, empêchant son exécution
Pour les flux de données récurrents (import, nettoyage, consolidation), Power Query offre une alternative plus robuste. Cet outil intégré à Excel gère les transformations de données sans code VBA, et les étapes sont visibles et modifiables dans une interface graphique. Quand le besoin se limite à du reformatage ou de la manipulation de données, Power Query sera souvent plus maintenable qu’une macro.

Organiser ses macros dans un classeur personnel
Par défaut, une macro est enregistrée dans le classeur actif. Si vous fermez ce fichier, la macro n’est plus disponible. Pour qu’une macro soit accessible depuis n’importe quel classeur, enregistrez-la dans le classeur de macros personnelles (Personal.xlsb).
Ce fichier spécial s’ouvre automatiquement en arrière-plan à chaque lancement d’Excel. Lors de l’enregistrement d’une macro, choisissez « Classeur de macros personnelles » dans le menu déroulant « Stocker la macro dans ». Vos macros les plus utilisées (formatage standard, nettoyage de données, insertion de modèles) y trouveront leur place.
Une bonne habitude consiste à nommer chaque macro de façon explicite et à ajouter un commentaire en début de code VBA décrivant ce qu’elle fait. Dans six mois, vous comprendrez encore pourquoi cette macro supprime la colonne B avant de trier par date.
L’automatisation dans Excel ne demande pas de devenir développeur VBA. L’enregistreur de macros couvre la majorité des besoins courants, à condition de respecter le bon format de fichier et de comprendre les nouvelles règles de sécurité de Microsoft 365. Gardez vos macros simples, documentez-les, et basculez vers Power Query quand la complexité dépasse ce qu’un enregistrement linéaire peut gérer.

