Content

Créer des macros avec Copilot (VBA automatisé)

Apprenez à créer des macros VBA avec Copilot : méthode pas à pas, prompts efficaces, optimisation performance, sécurité et bonnes pratiques pour automatiser Excel et Word.

Automatiser des tâches répétitives dans Excel et Word repose depuis des années sur les macros et le VBA. Le frein, c’est le temps nécessaire pour écrire, tester et documenter le code. Avec Microsoft Copilot, vous passez de “je dois coder” à “je décris ce que je veux et l’IA propose un script utilisable”. L’objectif de cet article est de vous montrer une méthode simple et fiable pour générer, corriger et maintenir des macros avec Copilot, sans transformer vos fichiers en boîtes noires.

Ce que Copilot change vraiment

Traditionnellement, construire une macro exige de connaître l’objet Workbook, les feuilles, les plages, les événements, la gestion d’erreurs, et tous les cas particuliers. Copilot sert de traducteur entre le langage métier et le langage VBA. Vous expliquez l’intention en français clair, il génère un premier jet structuré, ajoute les Option Explicit, crée des sous-procédures réutilisables et propose des commentaires. Vous gardez la main à chaque étape : l’IA n’exécute rien sans votre validation.

Pré-requis rapides

Pour tirer parti de Copilot en VBA, il vous faut :

  • Un abonnement Copilot compatible avec Microsoft 365.

  • Excel ou Word sur desktop (les macros ne s’exécutent pas dans les versions web).

  • L’éditeur VBA activé : Fichier > Options > Personnaliser le ruban > cochez “Développeur”.

  • Des fichiers de test non sensibles au départ, afin d’itérer sans risque.

La bonne méthode en 6 étapes

  1. Décrivez l’objectif métier, pas le code.
    Formulez “ce que doit faire” la macro, les entrées, les exceptions, et le résultat attendu. Exemple : “Sur la feuille ‘Ventes’, nettoyer les lignes vides, normaliser les dates en jj/mm/aaaa, puis créer un tableau croisé dynamique par région et mois sur une nouvelle feuille ‘Synthèse’.”

  2. Demandez un squelette robuste.
    Sollicitez Copilot pour obtenir une structure avec Option Explicit, une procédure principale, des fonctions utilitaires, une gestion d’erreurs (On Error GoTo) et des commentaires clairs. C’est ce qui rendra la macro maintenable.

  3. Faites générer le code en plusieurs blocs.
    Commencez par la partie “nettoyage”, testez-la, puis ajoutez la normalisation des dates, puis la création du TCD. Les petits incréments limitent les erreurs et facilitent les corrections.

  4. Testez sur un jeu de données réduit.
    Créez un onglet “_Sandbox” avec 20 à 50 lignes représentatives. Exécutez la macro, vérifiez chaque étape, adaptez les hypothèses (noms de colonnes, formats régionaux, cellules fusionnées).

  5. Demandez des variantes et optimisations.
    Si l’exécution est lente, faites réécrire la boucle en utilisant un tableau en mémoire, désactivez le recalcul et l’écran pendant l’exécution, puis réactivez-les à la fin. Copilot sait produire ces optimisations si vous les demandez explicitement.

  6. Ajoutez une interface minimale.
    Faites générer un petit formulaire (UserForm) avec des listes déroulantes et des boutons pour rendre la macro utilisable par tous. Documentez l’usage directement dans le classeur (onglet “Aide”).

Prompts efficaces à copier-coller

  • “Écris un module VBA pour Excel avec Option Explicit. Objectif : sur la feuille ‘Ventes’, supprimer les lignes entièrement vides, convertir toutes les dates en jj/mm/aaaa (culture fr-FR), et normaliser les montants en nombre. Ajoute une gestion d’erreurs et des commentaires ligne à ligne.”

  • “Optimise ce code pour de grands volumes (50 000 lignes) : charge les données dans un tableau VBA, coupe l’Application.ScreenUpdating et l’Application.Calculation, puis restaure-les en fin d’exécution. Explique les choix.”

  • “Génère un UserForm simple avec deux boutons (‘Nettoyer’, ‘Créer Synthèse’) et une liste déroulante de feuilles. Le code doit appeler les procédures existantes.”

  • “Transforme cette procédure Excel pour Word : créer un modèle de contrat à partir de signets, remplacer les signets par des valeurs d’une InputBox, sauvegarder en PDF dans un dossier choisi par l’utilisateur.”

Formulez toujours vos prompts avec : objectif, contraintes, environnements (Excel ou Word), volumes de données, et style de code souhaité.

Exemple guidé : macro de nettoyage et synthèse dans Excel

Imaginons un fichier “Ventes_2025.xlsx” avec des données brutes. Votre prompt initial pourrait être :
“Rédige une macro Sub NettoyerEtSynthese() qui, sur ‘Ventes’, supprime les lignes entièrement vides, supprime les espaces en début/fin de texte, convertit la colonne ‘Date’ au format jj/mm/aaaa, force la colonne ‘Montant’ en numérique, puis crée un tableau croisé dynamique par Région (lignes) et Mois (colonnes) totalisant le Montant dans une nouvelle feuille ‘Synthèse’. Ajoute une gestion d’erreurs, des commentaires, et une fonction utilitaire ToFrenchDate.”

Copilot renverra un module. Testez-le sur un échantillon, puis demandez :
“Ajoute une option pour filtrer uniquement l’année en cours, et une InputBox pour nommer la feuille de sortie.”
Ensuite :
“Optimise pour 100 000 lignes en travaillant en mémoire et en utilisant UsedRange.Value.”
Et enfin :
“Ajoute un UserForm minimal pour lancer la macro sans aller dans l’éditeur.”

Vous itérez ainsi jusqu’à une solution rapide, lisible et robuste.

Bonnes pratiques de qualité et de sécurité

  • Toujours Option Explicit. Cela force la déclaration des variables et évite des bugs subtils.

  • Noms explicites. Préférez DerniereLigneVentes à dl. Les prochains lecteurs vous remercieront.

  • Gestion d’erreurs centralisée. Un bloc On Error GoTo avec un label CleanExit qui réactive l’écran et le calcul même en cas d’échec.

  • Logs légers. Écrivez le statut dans une feuille “Log” (date, procédure, temps d’exécution, éventuelle erreur).

  • Ne traitez jamais des données sensibles en clair. Si la macro touche des informations RH ou financières, masquez les colonnes, travaillez sur une copie et limitez les chemins d’export.

  • Signature des macros. En environnement d’entreprise, signez vos macros avec un certificat approuvé et appliquez une stratégie de sécurité claire.

  • Contrôle de version. Conservez vos modules .bas dans un dépôt (même simple), avec un changelog. Copilot peut générer la doc de version sur demande.

Résoudre les problèmes fréquents

  • Régionalisation des dates. Si les dates s’affichent au format US, précisez “culture fr-FR” dans le prompt et faites convertir via CDate avec contrôle de validité.

  • Colonnes fusionnées et cellules vides. Demandez explicitement à Copilot d’ignorer les cellules fusionnées ou de les normaliser avant le traitement.

  • Lenteur sur gros volumes. Utilisez les tableaux en mémoire, désactivez ScreenUpdating et Calculation, et évitez Select/Activate. Copilot peut réécrire le code en ce sens.

  • Références manquantes. Si une bibliothèque est requise (Scripting Runtime, Outlook, etc.), demandez à Copilot d’ajouter le commentaire “Référence requise : …” et d’expliquer comment l’activer.

Étendre au-delà d’Excel

Dans Word, Copilot peut générer des macros qui remplissent des signets, créent des documents à partir de modèles, ajoutent des sommaires, exportent en PDF et renomment les fichiers selon un schéma. Dans Outlook, il peut préparer des scripts pour classer des mails, générer des réponses types ou exporter des pièces jointes. Dans PowerPoint, il peut automatiser l’import d’images, la création de masques ou l’export de lots en PDF. Le principe est le même : décrivez le résultat attendu, les sources, les contraintes, puis laissez Copilot produire un premier jet que vous durcissez.

Gouvernance et maintenance

L’automatisation ne doit pas créer de dépendance opaque. Documentez chaque macro directement dans le fichier (onglet “Aide” ou “README”), précisez qui la maintient, quand elle a été testée pour la dernière fois, et le périmètre de données autorisé. Mettez en place un cycle trimestriel de revue : Copilot peut proposer des améliorations, mais c’est vous qui validez les changements et mettez à jour la documentation.

Conclusion

Copilot abaisse fortement la barrière d’entrée du VBA. En partant d’une description métier claire, vous obtenez des macros propres, commentées, performantes et faciles à faire évoluer. La clé reste votre méthode : itérer en petits blocs, tester sur des échantillons, sécuriser, documenter et gouverner. Avec cette approche, l’automatisation ne remplace pas l’expertise, elle la démultiplie.

Découvrir notre offre de formations
Découvrir notre offre de formations