---Advertisement---
On: février 25, 2026
---Advertisement---
Excel VBA
Automatisation
Reporting mensuel
Multi-feuilles
ChatGPT
68%
des professionnels consacrent trop de temps à la consolidation manuelle de leurs rapports chaque mois
30 min
suffisent pour mettre en place une macro VBA complète qui automatise le reporting mensuel multi-feuilles
0 erreur
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

1

Identifiez vos onglets et la structure de vos données
Dans mon exemple, le fichier de reporting commercial contient 8 feuilles régionales (Nord, Sud, Est, Ouest, Paris, Lyon, Bordeaux, Marseille) et une feuille vierge « Synthèse ». Chaque onglet contient 4 colonnes : Référence (A), Produit (B), CA HT (C), Quantité (D), avec données à partir de la ligne 2. J’identifie la cellule de titre en A1 de la Synthèse. Cette étape prend 5 minutes.

2

Remplissez les variables du prompt et envoyez-le à ChatGPT-4o
Je remplace chaque [VARIABLE] : NOMBRE_FEUILLES = 8, LISTE_NOMS_FEUILLES = « Nord, Sud, Est, Ouest, Paris, Lyon, Bordeaux, Marseille », NOM_FEUILLE_SYNTHESE = « Synthèse », LISTE_COLONNES = « A:D », LIGNE_DEBUT = 2, CELLULE_TITRE = A1, COLONNE_TRI = « C décroissant (CA HT) », LISTE_DESTINATAIRES = « direction@monentreprise.fr ». J’envoie le prompt complet à ChatGPT-4o en une seule fois.

3

Récupérez les 3 procédures VBA générées et collez-les dans l’éditeur
ChatGPT génère 97 lignes de VBA commenté en moins de 25 secondes. J’ouvre l’éditeur VBA (Alt+F11), j’insère un nouveau module (Insertion → Module), je colle le code. Le modèle a créé 3 procédures bien séparées : GenererReporting (boucle principale), FormaterTableau (mise en forme), EnvoyerRapport (email Outlook optionnel). Compilation sans erreur dès le premier essai.

4

Testez la macro sur vos données réelles
J’exécute GenererReporting via Alt+F8. En 4,2 secondes, la macro consolide 1 847 lignes réparties sur 8 onglets, ajoute la colonne « Région », trie par CA décroissant, applique le tableau Excel formaté en bleu professionnel. Le MsgBox confirme : « ✓ 1 847 lignes consolidées depuis 8 feuilles — Durée : 4,2 secondes ». Premier test réussi à 100%, aucune ligne manquante, aucun doublon d’en-tête.

5

Ajoutez un bouton de lancement dans la feuille Synthèse
Dans le même fil ChatGPT, je demande : « Comment ajouter un bouton ‘Actualiser le rapport’ dans ma feuille Synthèse qui déclenche GenererReporting ? » Il génère les 5 lignes VBA pour créer le bouton programmatiquement et explique la méthode manuelle via Insertion → Formes → clic droit → Affecter une macro. J’associe la forme à GenererReporting. Bouton opérationnel en 3 minutes.

6

Activez le déclenchement automatique au 1er du mois
Dernier ajout : je demande au modèle d’intégrer un déclencheur via l’événement Workbook_Open qui détecte si on est le 1er jour ouvré du mois et lance la macro automatiquement. La procédure est collée dans ThisWorkbook en 2 minutes. Résultat final : le rapport se génère seul à l’ouverture du fichier chaque début de mois. Temps total de mise en place depuis zéro : 27 minutes.

💡
Pourquoi ce prompt est puissant

Chain-of-thought intégré

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.

Few-shot via contraintes techniques

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.

Contrainte de performance mesurable

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.

Valeur ajoutée : code auto-documenté

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

V1
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.

V2
RGPD — Anonymiser les données personnelles avant export ou archivage

Conformité RGPD

Laisser un commentaire