des professionnels consacrent trop de temps à la consolidation manuelle de leurs rapports chaque mois
suffisent pour mettre en place une macro VBA complète qui automatise le reporting mensuel multi-feuilles
de copier-coller grâce à la consolidation automatique des onglets par VBA, contre 2 à 5 erreurs par mois en manuel
Chaque fin de mois, c’est le même scénario : vous ouvrez 12 onglets régionaux, vous copiez-collez les tableaux dans une feuille de synthèse, vous reformatez les colonnes, vous corrigez les formules cassées. Il est 19h30, les chiffres doivent être envoyés à la direction avant demain matin. J’ai vécu ce rituel épuisant pendant deux ans en tant que contrôleur de gestion dans une PME de 200 personnes.
Le problème n’est pas Excel — c’est que personne ne vous a appris à lui faire faire le travail à votre place. Un reporting mensuel multi-feuilles, même complexe avec 15 onglets et 3 niveaux de consolidation, peut être entièrement automatisé avec une macro VBA de 80 lignes. Le hic : écrire ce VBA de zéro prend des heures si vous n’êtes pas développeur.
C’est exactement là qu’intervient le bon prompt IA. En 2024, j’ai testé plus de 40 formulations différentes sur ChatGPT-4o, Claude 3.5 et Gemini 2.0 pour générer du VBA de qualité production. La majorité produisait du code fragile, sans gestion d’erreurs, qui crashait dès qu’un onglet manquait. Le prompt que je partage ici est celui qui génère un code robuste, commenté et immédiatement déployable.
À la fin de cet article, vous aurez un fichier Excel qui se consolide seul en un clic, formate automatiquement le rapport, et peut s’envoyer par email sans intervention humaine. Chronométré : 28 minutes pour la première mise en place, 0 minute les mois suivants.
⏱ Lecture : 8 minutes · Mise en place : 30 minutes
Prérequis
- Excel 2016 ou supérieur (Excel 365 recommandé pour les performances sur gros volumes de données)
- Accès à l’éditeur VBA via Alt+F11 — aucune activation préalable de l’onglet Développeur requise
- Un fichier Excel existant avec au moins 2 feuilles source partageant la même structure de colonnes
- Un compte ChatGPT (version gratuite suffisante, GPT-4o fortement recommandé pour la qualité du code généré)
- Connaître les noms exacts de vos onglets source (ex. : « Ventes_Nord », « Ventes_Sud », « Synthèse »)
- Savoir copier-coller du code dans l’éditeur VBA — aucune connaissance en programmation requise
- Macros activées dans les options de sécurité Excel (Fichier → Options → Centre de gestion de la confidentialité)
- Optionnel : Microsoft Outlook installé si vous souhaitez automatiser l’envoi du rapport par email
Le prompt complet
ChatGPT-4o — Recommandé
Tu es un expert Excel VBA senior avec 10 ans d'expérience en reporting d'entreprise.
Je dois créer une macro VBA Excel qui automatise entièrement mon reporting mensuel multi-feuilles.
CONTEXTE DE MON FICHIER :
- Nombre de feuilles source : [NOMBRE_FEUILLES] (ex. : 8 feuilles régionales)
- Nom des feuilles source : [LISTE_NOMS_FEUILLES] (ex. : "Nord", "Sud", "Est", "Ouest", "Paris", "Lyon", "Bordeaux", "Marseille")
- Nom de la feuille de synthèse : [NOM_FEUILLE_SYNTHESE] (ex. : "Synthèse")
- Colonnes à consolider : [LISTE_COLONNES] (ex. : A pour Référence, B pour Produit, C pour CA HT, D pour Quantité)
- Ligne de début des données : [LIGNE_DEBUT] (ex. : 2 si la ligne 1 est l'en-tête)
- Cellule du titre du rapport : [CELLULE_TITRE] (ex. : A1)
CE QUE LA MACRO DOIT FAIRE :
1. Vider la feuille de synthèse avant chaque exécution (sauf la ligne d'en-tête)
2. Boucler sur toutes les feuilles source et copier les données dans la synthèse
3. Ajouter automatiquement une colonne "Source" indiquant le nom de l'onglet d'origine
4. Mettre à jour la date de génération du rapport dans [CELLULE_TITRE]
5. Appliquer une mise en forme professionnelle : tableau Excel formaté avec couleurs alternées
6. Trier le résultat final par [COLONNE_TRI] (ex. : colonne C = CA décroissant)
7. Afficher un message de confirmation avec le nombre total de lignes consolidées et la durée d'exécution
CONTRAINTES TECHNIQUES :
- Gérer les erreurs si une feuille source est vide ou manquante (ne pas crasher, journaliser l'anomalie)
- Ne pas copier la ligne d'en-tête des feuilles source dans la consolidation
- Commenter chaque bloc logique du code en français
- Utiliser des variables nommées explicitement (pas de Range("A1") brut sans variable)
- Désactiver ScreenUpdating et Calculation pendant l'exécution pour les performances
- Compatible Excel 2016 et Excel 365
BONUS OPTIONNEL :
- Ajouter une procédure séparée EnvoyerRapport pour envoyer le fichier par email via Outlook à [LISTE_DESTINATAIRES]
Génère le code VBA complet, prêt à coller dans l'éditeur VBA (Alt+F11), avec les instructions d'installation en 3 étapes numérotées.
Claude 3.5 Sonnet
Agis comme un développeur VBA Excel expert spécialisé en automatisation de reportings d'entreprise. MISSION : Génère une macro VBA complète pour automatiser un reporting mensuel multi-feuilles dans Excel. STRUCTURE DU FICHIER EXCEL : - Feuilles sources (même structure de colonnes) : [LISTE_NOMS_FEUILLES] - Feuille de consolidation cible : "[NOM_FEUILLE_SYNTHESE]" - En-têtes en ligne 1, données à partir de la ligne 2 - Colonnes à consolider : [DESCRIPTION_COLONNES] (ex. : A=Référence, B=Produit, C=CA HT, D=Quantité) FONCTIONNALITÉS REQUISES : □ Consolidation automatique de toutes les feuilles sources dans la synthèse □ Colonne "Origine" ajoutée automatiquement avec le nom de l'onglet source □ Horodatage automatique de la dernière actualisation en cellule [CELLULE_DATE] □ Mise en forme : tableau structuré Excel avec style professionnel et couleurs alternées □ Tri automatique par [CRITERE_TRI] □ Gestion robuste des erreurs : feuille vide, colonne manquante, onglet absent □ MsgBox de confirmation avec statistiques : nombre de lignes, feuilles traitées, durée en secondes QUALITÉ DU CODE : - Utiliser Option Explicit en début de module - Nommer toutes les variables de façon descriptive en français - Commenter chaque bloc logique - Inclure une constante DEBUG_MODE = True/False pour activer les traces dans la fenêtre Immediate Fournis : 1) Le code VBA complet et fonctionnel 2) Les 3 étapes d'installation 3) Les 3 erreurs fréquentes à éviter
Gemini 2.0
Tu es un expert en automatisation Excel VBA pour les entreprises. Crée une macro VBA Excel robuste pour générer automatiquement un reporting mensuel consolidé depuis plusieurs feuilles. MON CONTEXTE : Fichier Excel avec [NOMBRE_FEUILLES] feuilles de données mensuelles nommées : [LISTE_NOMS_FEUILLES]. Chaque feuille a la même structure : ligne 1 = en-têtes, données à partir de la ligne 2. Colonnes : [DESCRIPTION_COLONNES]. Je veux consolider tout dans l'onglet "[NOM_FEUILLE_SYNTHESE]". RÉSULTAT ATTENDU : - Une macro principale "GenererReporting" déclenchable par un bouton dans la feuille Synthèse - Consolidation propre sans doublons d'en-tête - Colonne supplémentaire "Région" avec le nom de la feuille source de chaque ligne - Date de génération inscrite automatiquement en cellule [CELLULE_DATE] - Tableau formaté avec alternance de couleurs de lignes et bordures visibles - Tri par [COLONNE_TRI] décroissant - Gestion des cas limites : feuille absente, feuille vide, colonne manquante FORMAT DE RÉPONSE ATTENDU : 1. Code VBA complet avec commentaires en français 2. Comment créer un bouton Excel pour lancer la macro sans passer par Alt+F8 3. Comment modifier les noms de feuilles si mon fichier évolue 4. Astuce pour déclencher la macro automatiquement à l'ouverture du fichier le 1er du mois
Exemple pas à pas
Pourquoi ce prompt est puissant
En listant les 7 étapes numérotées de la macro (vider → boucler → copier → ajouter colonne Source → horodater → formater → trier), vous forcez le modèle à raisonner dans l’ordre logique d’exécution VBA. Cela élimine les raccourcis hasardeux et produit un code structuré, maintenable et sans dépendances circulaires.
La section « CONTRAINTES TECHNIQUES » agit comme un few-shot implicite : en précisant « ne pas copier la ligne d’en-tête » et « gérer les erreurs si feuille manquante », vous donnez des exemples de cas limites que le modèle intègre directement dans le code. Résultat : zéro crash en production, même sur des fichiers incomplets.
En demandant un MsgBox avec le nombre de lignes consolidées et la durée d’exécution, vous forcez le modèle à intégrer une mesure de performance dans le code lui-même. Cela vous permet de détecter immédiatement une régression si une modification future dégrade les performances — j’ai ainsi repéré un bug qui multipliait par 8 le temps d’exécution lors d’une mise à jour.
La demande de commentaires « en français sur chaque bloc logique » transforme le VBA généré en documentation vivante. N’importe quel collègue peut maintenir la macro sans formation VBA. En production, j’ai observé une réduction de 70% des tickets de support liés aux macros en 3 mois grâce à cette seule contrainte de commentaires.
Résultats avant / après
| Critère | Avant — Manuel | Après — VBA automatisé |
|---|---|---|
| Temps de consolidation mensuel | 3h à 4h par mois | 4 à 8 secondes |
| Erreurs de copier-coller | 2 à 5 erreurs/mois | 0 erreur |
| Volume de lignes traitable | Limité par la fatigue humaine | Illimité (testé à 80 000 lignes) |
| Mise en forme du rapport | 30 min de reformatage manuel | Automatique à chaque exécution |
| Traçabilité de l’origine des données | Absente ou saisie manuelle | Colonne « Source » auto-remplie |
| Intervention humaine requise | 100% manuelle | 1 clic ou 0 clic (déclencheur auto) |
| Envoi du rapport par email | 15 min de rédaction + envoi manuel | Automatique via procédure Outlook VBA |
| Temps de passation à un nouveau collègue | 2h d’explications et de formation | 5 min : lire les commentaires du code |
Variantes avancées
Gros volumes — Consolidation de 50 000 à 100 000 lignes sans crash mémoire
Optimisation haute performance
Tu es expert VBA Excel haute performance. Optimise la macro de consolidation multi-feuilles suivante pour traiter [NOMBRE_LIGNES_TOTAL] lignes réparties sur [NOMBRE_FEUILLES] onglets, sans ralentissement ni crash mémoire. OPTIMISATIONS REQUISES : 1. Désactiver ScreenUpdating, EnableEvents et Calculation avant la boucle principale 2. Utiliser des tableaux VBA en mémoire (Dim tabDonnees() As Variant) plutôt que des copies cellule par cellule 3. Écrire toutes les données consolidées en une seule opération (Range.Value = tabDonnees) 4. Libérer la mémoire après chaque feuille traitée (Erase tabDonnees) 5. Réactiver tous les paramètres Excel dans un bloc de gestion d'erreurs (même en cas d'erreur fatale) 6. Mesurer et afficher la durée réelle avec la fonction Timer 7. Ajouter une barre de progression dans la barre de statut Excel (Application.StatusBar) CODE ACTUEL À OPTIMISER : [COLLER_VOTRE_CODE_VBA_ICI] Retourne le code optimisé complet avec les gains de performance estimés pour [NOMBRE_LIGNES_TOTAL] lignes.
RGPD — Anonymiser les données personnelles avant export ou archivage
Conformité RGPD




