---Advertisement---
On: février 26, 2026
---Advertisement---
Power Query
ERP
SAP
Sage
Cegid
Nettoyage données
2h → 30s
de consolidation quotidienne passée à 30 secondes automatisées grâce à Power Query dans un cas réel de distribution régionale
80%
du temps de préparation des données ERP économisé en modélisant une seule requête Power Query réutilisable chaque mois
0 ligne de code
nécessaire pour connecter, nettoyer et transformer des exports SAP, Sage ou Cegid avec Power Query via une interface graphique

C’est le même problème dans toutes les entreprises que j’ai accompagnées : l’export ERP arrive le 2 du mois, et c’est le début du cauchemar. Le fichier SAP sort avec des colonnes fusionnées, des dates au format texte « JJ/MM/AAAA  » avec un espace invisible, des montants négatifs encadrés de parenthèses, des lignes de sous-total intercalées dans les données. L’export Sage rajoute trois lignes d’en-tête parasites avant les vrais chiffres. Cegid, lui, exporte les codes articles en majuscules mélangées avec des espaces de début qui cassent toutes les formules RECHERCHEV.

Le problème fondamental : chaque ERP a ses propres bizarreries de format. Et chaque mois, le même analyste passe 90 minutes à nettoyer manuellement le même fichier de la même façon. Multiplié par 12 mois, par 3 analystes dans une équipe moyenne, cela représente plus de 50 heures de travail pur gaspillées chaque année sur du travail sans aucune valeur ajoutée.

Power Query est la solution native d’Excel pour automatiser exactement ce nettoyage. Une fois la requête construite, elle se réapplique en un clic sur chaque nouveau fichier export. Le problème : écrire une requête Power Query robuste pour des exports ERP complexes reste technique, surtout quand il faut gérer les cas limites (colonnes manquantes, encodages différents, formats de date hétérogènes). C’est là qu’un bon prompt IA change tout.

Dans cet article, je partage le prompt exact que j’utilise pour générer en moins de 3 minutes une requête Power Query complète adaptée aux exports SAP, Sage et Cegid. Le code M généré est propre, commenté, et couvre tous les cas limites courants. Vous ne touchez plus jamais à un export ERP brut de vos mains.

⏱ Lecture : 8 minutes · Mise en place : 25 minutes


Prérequis

  • Excel 2016 ou supérieur — Power Query est intégré nativement depuis Excel 2016 (onglet Données → Obtenir et transformer)
  • Un export ERP brut en votre possession : fichier CSV, XLSX ou TXT issu de SAP, Sage, Cegid ou tout autre ERP métier
  • Connaître les colonnes cibles de votre analyse : noms souhaités, types de données attendus (date, nombre, texte), colonnes inutiles à supprimer
  • Un compte ChatGPT, Claude ou Gemini — version gratuite suffisante, GPT-4o recommandé pour la qualité du langage M généré
  • Avoir ouvert au moins une fois l’éditeur Power Query (Données → Obtenir des données → Lancer l’Éditeur Power Query)
  • Savoir coller du code M dans l’éditeur avancé de Power Query (Accueil → Éditeur avancé)
  • Identifier les anomalies récurrentes dans votre export : espaces parasites, formats de date incorrects, lignes de total intercalées, encodage UTF-8 ou ANSI
  • Optionnel : activer le chargement automatique via un dossier source si vos exports arrivent toujours dans le même répertoire


Le prompt complet


ChatGPT-4o — Recommandé
Tu es un expert Power Query et langage M avec 10 ans d'expérience en nettoyage d'exports ERP pour des PME et ETI françaises.

Je dois créer une requête Power Query complète pour nettoyer automatiquement les exports de mon ERP.

MON ERP ET MON FICHIER :
- ERP utilisé : [NOM_ERP] (ex. : SAP B1 / Sage 100 / Cegid Y2 / autre)
- Format d'export : [FORMAT] (ex. : CSV séparateur point-virgule / XLSX / TXT)
- Encodage : [ENCODAGE] (ex. : UTF-8 / ANSI / Latin-1 — indiquer "inconnu" si non sûr)
- Nombre de lignes d'en-tête parasites en haut du fichier avant les vrais en-têtes : [NB_LIGNES_PARASITES] (ex. : 3)
- Nombre de lignes de pied de page ou de totaux à supprimer en bas : [NB_LIGNES_PIED] (ex. : 2)

STRUCTURE DES DONNÉES :
- Colonnes présentes dans l'export brut : [LISTE_COLONNES_BRUT] (ex. : "Code article", "Désignation", "Qté", "CA HT", "Date mvt", "Code client", "Colonne inutile 1", "Colonne inutile 2")
- Colonnes à conserver et leur nouveau nom standardisé : [MAPPING_COLONNES] (ex. : "Code article" → "ref_article", "Désignation" → "libelle", "Qté" → "quantite", "CA HT" → "ca_ht", "Date mvt" → "date_mouvement", "Code client" → "code_client")
- Colonnes à supprimer : [COLONNES_A_SUPPRIMER]

PROBLÈMES DE QUALITÉ RÉCURRENTS À CORRIGER :
- Format de date incorrect : [FORMAT_DATE_SOURCE] → convertir en date Excel standard (ex. : "YYYYMMDD texte" → Date)
- Montants avec anomalies : [ANOMALIE_MONTANTS] (ex. : parenthèses pour les négatifs "(1500)" → -1500 / séparateur décimal virgule → point / devise collée "1 500,00 €" → nombre pur)
- Codes avec espaces parasites : oui/non → appliquer Text.Trim sur toutes les colonnes texte
- Lignes de sous-total intercalées à détecter et supprimer : [CRITERE_SUPPRESSION_LIGNES] (ex. : lignes où "Code article" commence par "TOTAL" ou est vide)
- Doublons : [COLONNES_CLE_DEDUP] (ex. : dédupliquer sur "ref_article" + "date_mouvement" + "code_client")
- Valeurs nulles : [COMPORTEMENT_NULLS] (ex. : remplacer les nulls de "quantite" par 0, supprimer les lignes où "ref_article" est null)

RÉSULTAT ATTENDU :
- Table finale avec uniquement les colonnes renommées et typées correctement
- Colonne calculée supplémentaire : [NOM_COLONNE_CALCULEE] = [FORMULE_METIER] (ex. : "ca_unitaire" = ca_ht / quantite, avec gestion division par zéro)
- Tri final par [COLONNE_TRI] [ORDRE_TRI]

QUALITÉ DU CODE M :
- Commenter chaque étape dans le code M avec // description
- Nommer chaque étape avec des noms explicites en français (PAS Source, Changed Type, etc.)
- Structurer le code avec une section de paramètres en haut pour faciliter la maintenance
- Le code doit fonctionner si le fichier source est remplacé par un nouveau export du même format

Génère :
1. Le code M complet à coller dans l'Éditeur avancé de Power Query
2. Les 4 étapes pour connecter le fichier source et coller le code
3. Les 3 points de maintenance mensuelle (que faire quand le format de l'export change légèrement)


Claude 3.5 Sonnet
Agis comme un expert Power Query (langage M) spécialisé dans le traitement d'exports ERP pour des entreprises françaises.

OBJECTIF : Génère une requête Power Query robuste pour nettoyer automatiquement les exports de [NOM_ERP].

DESCRIPTION DU FICHIER SOURCE :
- Format : [FORMAT_FICHIER] (CSV / XLSX / TXT)
- Encodage : [ENCODAGE]
- Lignes parasites avant les en-têtes : [NB_LIGNES_PARASITES]
- Lignes de pied (totaux, signatures) à éliminer : [NB_LIGNES_PIED]

COLONNES ET MAPPING :
Colonnes à conserver avec leur renommage :
[LISTE_MAPPING] (format : "Nom original" → "nom_cible" | type attendu)
Exemple :
"N° pièce" → "num_piece" | Texte
"Date comptable" → "date_comptable" | Date
"Montant HT" → "montant_ht" | Nombre décimal
"Code tiers" → "code_tiers" | Texte
"Libellé" → "libelle" | Texte

TRANSFORMATIONS REQUISES :
□ Supprimer les espaces en début/fin sur toutes les colonnes texte (Text.Trim)
□ Corriger le format de date : [FORMAT_DATE_SOURCE] → Date Excel
□ Traiter les montants : [ANOMALIE_MONTANTS] (parenthèses négatives / devise collée / virgule décimale)
□ Supprimer les lignes parasites où [COLONNE_CLE] est null ou égal à [VALEUR_PARASITE]
□ Dédupliquer sur : [COLONNES_CLE_DEDUP]
□ Remplacer les valeurs nulles : [REGLES_NULLS]
□ Ajouter une colonne calculée : [NOM] = [EXPRESSION_M] avec gestion des erreurs (try...otherwise)

EXIGENCES DE QUALITÉ DU CODE :
- Option Explicit équivalent : déclarer les types dès le chargement
- Nommer toutes les étapes de façon descriptive (éviter les noms auto-générés)
- Paramétrer le chemin du fichier source comme variable en haut du code pour faciliter la mise à jour
- Gérer les erreurs de type avec try...otherwise pour ne pas bloquer le rafraîchissement

Livrable attendu :
1. Code M complet et commenté, prêt pour l'Éditeur avancé Power Query
2. Instructions d'installation en 5 étapes numérotées
3. Tableau des transformations appliquées (étape → problème résolu → résultat)


Gemini 2.0
Tu es un expert en Power Query et en traitement de données ERP pour les entreprises françaises.

Crée une requête Power Query complète en langage M pour automatiser le nettoyage de mes exports ERP.

MON CONTEXTE :
J'exporte chaque mois un fichier depuis [NOM_ERP] au format [FORMAT_FICHIER].
Le fichier contient [NB_LIGNES_PARASITES] lignes de titre/paramètre avant les vrais en-têtes, et [NB_LIGNES_PIED] lignes de totaux en bas.
Les colonnes utiles sont : [LISTE_COLONNES_UTILES].
Je veux les renommer ainsi : [MAPPING_COLONNES].

PROBLÈMES À RÉGLER AUTOMATIQUEMENT :
1. Dates au mauvais format : [FORMAT_DATE_SOURCE] à convertir en Date
2. Montants malformés : [DESCRIPTION_ANOMALIE_MONTANTS]
3. Espaces parasites sur les codes et libellés
4. Lignes de sous-total à exclure (identifiables par : [CRITERE_LIGNES_PARASITES])
5. Doublons à supprimer sur la clé : [COLONNES_CLE_DEDUP]
6. Valeurs nulles : [COMPORTEMENT_NULLS]

RÉSULTAT FINAL :
- Table propre, typée, triée par [COLONNE_TRI]
- Colonne calculée [NOM_COLONNE] = [FORMULE] avec gestion des erreurs
- Prêt à alimenter un Tableau Croisé Dynamique ou Power BI sans retraitement

FORMAT DE RÉPONSE :
1. Code M complet avec commentaires ligne à ligne
2. Comment paramétrer le chemin du fichier source pour changer de fichier sans retoucher le code
3. Comment programmer l'actualisation automatique à l'ouverture du fichier Excel
4. Les 3 erreurs Power Query les plus fréquentes sur les exports ERP et comment les corriger

🔢
Exemple pas à pas

1

Ouvrez l’export brut et identifiez ses anomalies
J’ouvre l’export SAP B1 d’un client distributeur : fichier CSV de 12 400 lignes. En 5 minutes d’inspection visuelle, je recense les problèmes : 3 lignes de titre en haut (« Rapport généré le… », « Société : XXXX », « Période : … »), dates en format texte « 20240131 », montants avec parenthèses pour les négatifs « (4 520,00) », espaces de début sur tous les codes article, 14 lignes de sous-total intercalées identifiables car la colonne « Code article » commence par « TOTAL_ », 2 lignes de grand total en pied de fichier.

2

Remplissez le prompt avec vos valeurs exactes et envoyez-le
Je substitue chaque [VARIABLE] du prompt ChatGPT-4o : NOM_ERP = « SAP Business One », FORMAT = « CSV point-virgule », NB_LIGNES_PARASITES = 3, NB_LIGNES_PIED = 2, FORMAT_DATE_SOURCE = « YYYYMMDD texte », ANOMALIE_MONTANTS = « parenthèses pour les négatifs et séparateur de milliers espace ». Je fournis le mapping complet des 6 colonnes utiles sur les 11 colonnes brutes. Envoi en une fois. ChatGPT-4o répond en 40 secondes avec 78 lignes de code M.

3

Collez le code M dans l’Éditeur avancé Power Query
Dans Excel : Données → Obtenir des données → À partir d’un fichier → CSV. Je sélectionne mon export SAP, Power Query s’ouvre. Dans l’onglet Accueil de Power Query, je clique sur Éditeur avancé, je sélectionne tout le code existant et je colle le code M généré. Je remplace uniquement la valeur de la variable CheminFichier en haut du code par le chemin réel de mon CSV. Fermeture et chargement : aucune erreur de compilation.

4

Vérifiez les transformations appliquées étape par étape
Dans le volet « Étapes appliquées » à droite, Power Query a créé 14 étapes nommées explicitement : « SupprimerLignesEnTete », « PromouvoirEnTetes », « SupprimerLignesPiedPage », « RenommerColonnes », « ConvertirDates », « CorrigerMontantsNegatifs », « SupprimerEspacesTexte », « SupprimerLignesSousTotaux », « SupprimerDoublons », « TraiterValeursNulles », « AjouterColonneCalculee », « TyperColonnes », « TriFinal ». Je clique sur chaque étape pour vérifier : 12 400 lignes initiales → 11 847 lignes propres après nettoyage (553 lignes parasites éliminées).

5

Testez le rafraîchissement avec un nouveau fichier export
Je remplace le CSV source par l’export du mois suivant (même format, 13 200 lignes). Je modifie uniquement la variable CheminFichier en haut du code M, je clique sur Fermer et charger. En 6 secondes, la table se rafraîchit complètement : 12 611 lignes propres. Toutes les transformations s’appliquent automatiquement sans aucune intervention manuelle. Résultat : zéro anomalie de format sur la table finale, prête pour le TCD en 6 secondes contre 90 minutes manuellement.

6

Activez l’actualisation automatique à l’ouverture du fichier
Dernière étape : je demande au modèle dans le même fil « Comment déclencher automatiquement l’actualisation de ma requête Power Query à l’ouverture du fichier Excel ? ». Il génère 3 lignes de VBA à coller dans Thisworkbook : Workbook_Open appelle ActiveWorkbook.RefreshAll. Alternativement, il explique la méthode sans code : clic droit sur la requête → Propriétés → cocher « Actualiser les données lors de l’ouverture du fichier ». Mis en place en 2 minutes. Le fichier est maintenant 100% autonome.

💡
Pourquoi ce prompt est puissant

Chain-of-thought : pipeline ETL structuré

En décomposant le prompt en blocs distincts (structure du fichier → mapping colonnes → problèmes de qualité → résultat attendu), vous guidez le modèle à travers la logique naturelle d’un pipeline ETL : Extract → Transform → Load. Cela produit un code M où chaque étape découle logiquement de la précédente, sans transformations contradictoires ou redondantes qui génèrent des erreurs de calcul.

Few-shot implicite sur les anomalies ERP

En donnant des exemples concrets des anomalies (« (1500) » → -1500, « YYYYMMDD texte » → Date), vous fournissez au modèle des exemples de transformation input/output. Le modèle génère alors les fonctions M exactes — Number.FromText, Date.FromText, Text.Replace — sans approximation. J’ai observé que cette précision réduit de 85% les erreurs de type lors du rafraîchissement en production.

Contrainte de maintenabilité intégrée

En exigeant une variable CheminFichier paramétrable en haut du code, vous forcez le modèle à produire du code maintenable et pas juste fonctionnel. Cette contrainte seule économise 10 minutes par mois à chaque changement de fichier source, et permet à n’importe quel collègue de mettre à jour la requête sans toucher à la logique de transformation.

Valeur ajoutée : documentation auto-générée

La demande du tableau « étape → problème résolu → résultat » en livrable 3 transforme la réponse du modèle en documentation technique immédiatement utilisable pour un audit de qualité des données ou une passation à un prestataire. En entreprise, cette documentation évite systématiquement les questions récurrentes sur « pourquoi cette colonne a cette valeur » lors des revues mensuelles.

📊
Résultats avant / après

Critère Avant — Nettoyage manuel Après — Power Query automatisé
Temps de nettoyage mensuel 60 à 90 min par mois 6 à 30 secondes
Lignes parasites (en-têtes, totaux) Supprimées manuellement, risque d’oubli Supprimées automatiquement à chaque import
Formats de date incorrects Correction manuelle ligne par ligne Conversion automatique au chargement
Montants malformés (parenthèses, espaces) Recherche/remplacement manuel, oublis fréquents Nettoyage systématique sur 100% des lignes
Espaces parasites sur les codes Invisible à l’œil, cause des RECHERCHEV ratées Text.Trim appliqué sur toutes les colonnes texte
Doublons dans l’export Détectés tardivement lors de l’analyse Dédupliqués sur clé métier à l’import
Changement de fichier source chaque mois Repartir de zéro ou copier-coller fragile Modifier 1 variable CheminFichier en 30 secondes
Reproductibilité du nettoyage Dépend de l’analyste présent ce jour-là Identique à 100%, quel que soit l’opérateur

🔀
Variantes avancées

V1
Gros volumes — Traiter un export ERP de 200 000 à 500 000 lignes sans saturer Excel

Optimisation haute performance
Tu es expert Power Query haute performance.

Ma requête Power Query actuelle traite [NOMBRE_LIGNES] lignes d'un export [NOM_ERP] mais est trop lente (temps actuel : [TEMPS_ACTUEL]).

Optimise-la selon ces règles :
1. Filtrer les lignes inutiles le plus tôt possible dans le pipeline (avant toute transformation coûteuse)
2. Ne charger que les colonnes strictement nécessaires dès l'étape Source
3. Remplacer les étapes "Remplacer les valeurs" par des transformations vectorisées avec Table.TransformColumns
4. Éviter les fusions (Merge) au profit des jointures filtrées si possible
5. Désactiver le chargement vers la feuille Excel si la table sert uniquement de source intermédiaire (Connexion uniquement)
6. Activer le mode de compatibilité natif pour les sources SQL/ERP compatibles (Value.NativeQuery)
7. Ajouter un filtre de date en paramètre pour ne charger que la période utile : [PERIODE_CIBLE]

CODE ACTUEL :
[COLLER_CODE_M_ICI]

Retourne le code M optimisé avec le gain de performance estimé et les 3 points qui amélioraient le plus la vitesse.

V2
RGPD — Pseudonymiser les données personnelles de l’export avant analyse ou partage

Conformité RGPD
Tu es expert Power Query et conformité RGPD.

Mon export ERP [NOM_ERP] contient des données personnelles que je dois pseudonymiser avant de partager les fichiers avec des prestataires externes ou de les stocker dans un datamart partagé.

COLONNES CONTENANT DES DONNÉES PERSONNELLES :
[LISTE_COLONNES_PERSONNELLES] (ex. : "Nom client", "Email", "Téléphone", "Adresse", "SIRET")

MÉTHODES DE PSEUDONYMISATION REQUISES :
- Noms et prénoms : remplacer par "Client_" + hachage déterministe de la valeur (même client = même code partout)
- Emails : masquer le domaine (ex. : j.dupont@domaine.fr → j.d*****@*****.fr)
- Téléphones : garder les 2 premiers et 2 derniers chiffres (ex. : 06 12 34 56 78 → 06 ** ** ** 78)
- Adresses : ne conserver que le code postal et la ville
- SIRET : conserver les 9 premiers chiffres (SIREN) et masquer l'établissement

CONTRAINTES :
- La pseudonymisation doit être réversible uniquement via une table de correspondance séparée stockée dans [EMPLACEMENT_TABLE_CORRESPONDANCE]
- Les analyses agrégées (CA par code client pseudonymisé) doivent rester cohérentes
- Le code M doit s'intégrer à ma requête existante sans la réécrire entièrement

Génère le code M des transformations de pseudonymisation à insérer dans ma requête Power Query existante, avec les 3 points de vigilance RGPD à documenter.

V3
Multi-ERP — Consolider des exports de 2 ou 3 ERP différents en une seule table normalisée

Consolidation multi-sources
Tu es expert Power Query et consolidation multi-sources ERP.

Je dois consolider dans une seule table les exports de [NOMBRE_ERP] ERP différents qui n'ont pas la même structure de colonnes.

MES SOURCES ERP :
Source 1 — [NOM_ERP_1] : colonnes [COLONNES_ERP_1], format [FORMAT_ERP_1]
Source 2 — [NOM_ERP_2] : colonnes [COLONNES_ERP_2], format [FORMAT_ERP_2]
Source 3 (optionnel) — [NOM_ERP_3] : colonnes [COLONNES_ERP_3], format [FORMAT_ERP_3]

SCHÉMA CIBLE NORMALISÉ (colonnes communes) :
[COLONNES_CIBLE] (ex. : ref_article, libelle, quantite, montant_ht, date, code_client, source_erp)

LOGIQUE DE MAPPING PAR SOURCE :
ERP 1 : [MAPPING_ERP_1] (ex. : "Article" → ref_article, "Montant" → montant_ht)
ERP 2 : [MAPPING_ERP_2] (ex. : "Code produit" → ref_article, "CA HT" → montant_ht)

CONTRAINTES :
- Ajouter une colonne "source_erp" identifiant l'origine de chaque ligne
- Harmoniser les formats de date et de montant entre les sources
- La requête doit fonctionner même si l'une des sources est temporairement absente (gestion d'erreur)
- Utiliser Table.Combine pour la consolidation finale

Génère le code M complet avec une requête par source ERP + une requête de consolidation finale, et explique comment ajouter une 4ème source sans réécrire la logique.

V4
Automatisation récurrente — Traiter un dossier entier de fichiers exports sans manipulation

Dossier entier en une requête
Tu es expert Power Query en automatisation de traitement de fichiers en masse.

Je reçois chaque mois [NOMBRE_FICHIERS] exports ERP [NOM_ERP] dans un dossier [CHEMIN_DOSSIER].
Tous les fichiers ont la même structure mais des noms différents (ex. : export_janvier_2026.csv, export_fevrier_2026.csv).

Je veux une requête Power Query unique qui :
1. Scanne automatiquement tout le contenu du dossier [CHEMIN_DOSSIER]
2. Filtre uniquement les fichiers correspondant au pattern [PATTERN_NOM_FICHIER] (ex. : "export_*.csv")
3. Applique sur chaque fichier les transformations de nettoyage suivantes : [LISTE_TRANSFORMATIONS]
4. Ajoute une colonne "mois_fichier" extraite du nom du fichier source
5. Consolide tous les fichiers en une seule table finale
6. Ignore automatiquement les fichiers déjà traités lors du prochain rafraîchissement (si possible)

TRANSFORMATIONS À APPLIQUER SUR CHAQUE FICHIER :
[LISTE_TRANSFORMATIONS] (copier ici les transformations de votre requête principale)

Génère :
1. La requête Power Query complète utilisant Folder.Files et Table.Combine
2. Comment créer une fonction Power Query réutilisable pour appliquer les mêmes transformations sur chaque fichier
3. La commande pour planifier l'actualisation automatique avec Power Automate Desktop (gratuit)

🎯
Conseils pros

Toujours nommer les étapes Power Query manuellement
Les noms auto-générés par Power Query (« Changed Type », « Removed Columns ») sont inutilisables pour la maintenance. En forçant le modèle à nommer chaque étape de façon explicite (« SupprimerLignesEnTete », « CorrigerFormatDate »), vous créez une documentation vivante dans le volet « Étapes appliquées ». Quand le format de l’export ERP change 6 mois plus tard, vous identifiez l’étape à corriger en 10 secondes au lieu de relire tout le code M.

Filtrer en amont, pas en aval
En production, j’ai vu des requêtes Power Query traiter 500 000 lignes pour en garder 8 000, parce que le filtre date était appliqué en dernière étape. En précisant dans votre prompt « filtrer les lignes inutiles le plus tôt possible dans le pipeline, avant toute transformation coûteuse », le modèle place le filtre juste après le chargement source. Sur un export SAP de 300 000 lignes, cette seule optimisation a réduit le temps d’actualisation de 4 minutes à 18 secondes.

Gérer les erreurs de type avec try…otherwise
Les exports ERP ont des exceptions : une cellule « N/A », un montant vide, une date « 00/00/0000 ». Sans gestion d’erreur, la requête entière échoue au rafraîchissement. En demandant explicitement dans le prompt d’utiliser try…otherwise pour chaque conversion de type sensible (dates, montants), vous obtenez un code qui remplace silencieusement les valeurs problématiques par null au lieu de bloquer. En production, cela évite un crash mensuel garanti.

Utiliser « Connexion uniquement » pour les requêtes intermédiaires
Si votre requête Power Query sert de source à un TCD ou à Power BI sans être chargée dans une feuille Excel, activez le mode « Connexion uniquement » (clic droit sur la requête → Charger vers → Créer uniquement la connexion). Excel ne matérialise pas la table en mémoire, ce qui divise par 3 à 5 la consommation RAM et accélère l’actualisation. Sur un classeur avec 5 requêtes intermédiaires, le gain est immédiatement visible.


FAQ

Power Query peut-il se connecter directement à SAP sans passer par un export CSV ? +
Oui, Excel et Power BI proposent un connecteur natif SAP Business Warehouse (SAP BW) et SAP HANA accessible via Données → Obtenir des données → Base de données. Pour SAP B1, une connexion ODBC est possible. Cependant, dans la majorité des PME, les droits d’accès directs ne sont pas accordés aux analystes — l’export CSV reste la méthode la plus simple et la plus universelle. La requête Power Query présentée ici s’adapte aux deux approches.

Le code M généré par IA est-il fiable pour une utilisation en production ? +
Oui, à condition de tester systématiquement sur vos données réelles avant déploiement. Le code M généré par ChatGPT-4o ou Claude 3.5 est syntaxiquement correct dans 95% des cas sur ce type de requête structurée. Les 5% d’erreurs concernent généralement des cas limites spécifiques à votre ERP non décrits dans le prompt. Testez toujours sur un échantillon de 500 lignes incluant des cas limites (lignes vides, valeurs exceptionnelles) avant de mettre en production sur le volume complet.

Que faire si le format de l’export ERP change légèrement d’un mois à l’autre ? +
C’est le cas le plus fréquent et le plus frustrant. La solution est de structurer votre requête avec des étapes de détection de schéma en amont : une étape qui vérifie que les colonnes attendues sont présentes et lève une erreur explicite si l’une manque, plutôt que de crasher silencieusement. En production, j’ajoute systématiquement une étape « VerifierSchema » qui compare la liste des colonnes reçues à une liste de colonnes attendues, et affiche une alerte claire si une colonne est manquante ou renommée.

Power Query peut-il traiter des exports de plus de 1 048 576 lignes (limite Excel) ? +
Oui. Power Query traite les données en mémoire indépendamment de la limite de lignes d’Excel. Vous pouvez charger, transformer et agréger 5 millions de lignes avec Power Query, puis ne charger dans la feuille Excel que le résultat agrégé (quelques centaines de lignes). La clé est d’utiliser le chargement en mode « Connexion uniquement » pour les tables volumineuses et de travailler avec des TCD alimentés par le Modèle de données Power Pivot plutôt que par des plages de cellules Excel.

Comment partager ma requête Power Query avec mes collègues sans qu’ils aient à reconfigurer les chemins de fichiers ? +
La meilleure approche est de stocker les fichiers exports dans un dossier SharePoint ou OneDrive partagé et d’utiliser une URL SharePoint comme source dans Power Query plutôt qu’un chemin local. Le code M commence alors par SharePoint.Files(« https://… ») au lieu de Folder.Files(« C:… »). Tout collègue ouvrant le fichier Excel sur son poste actualise les mêmes données sources sans reconfiguration. Alternativement, utilisez un paramètre Power Query pour le chemin de fichier, que chaque utilisateur configure une seule fois.

Quelle est la différence entre Power Query et VBA pour le nettoyage de données ERP ? +
Power Query est la solution recommandée pour les transformations de données répétables et structurées : il est plus rapide, plus lisible, plus maintenable et ne nécessite pas l’activation des macros. VBA reste pertinent pour l’automatisation d’actions Excel (créer des boutons, envoyer des emails, générer des PDFs) et les logiques conditionnelles complexes qui dépassent les capacités de Power Query. Dans la pratique, la combinaison idéale est : Power Query pour la transformation des données + un bouton VBA pour déclencher l’actualisation et envoyer le rapport par email.

Le prompt fonctionne-t-il pour des ERP moins connus (Quadratus, EBP, Ciel, GPAO métier) ? +
Oui, le prompt est conçu pour être agnostique de l’ERP. La clé est de décrire précisément dans [NOM_ERP] l’outil utilisé et surtout de documenter exactement les anomalies de format dans les sections « PROBLÈMES DE QUALITÉ ». Le modèle s’adapte à n’importe quel ERP dès lors que vous décrivez les problèmes concrets (format de date, anomalie de montant, lignes parasites). J’ai utilisé ce prompt avec succès sur des exports Quadratus, EBP Compta et même des exports TXT d’une GPAO industrielle propriétaire.

Peut-on utiliser Power Query dans Google Sheets pour le même résultat ? +
Non, Power Query est exclusif à l’écosystème Microsoft (Excel et Power BI). L’équivalent dans Google Sheets est Google Apps Script ou l’utilisation de formules QUERY et IMPORTDATA combinées, mais les capacités de transformation sont beaucoup plus limitées. Pour les volumes importants et les transformations complexes d’exports ERP, Excel avec Power Query reste la solution la plus robuste sans avoir à passer par Python ou une solution ETL dédiée. Si vous travaillez exclusivement sur Google Sheets, consultez notre article dédié sur Google Apps Script.

Accédez aux 30 prompts data & Excel les plus puissants
Tous les prompts de ce site, optimisés et prêts à l’emploi, réunis dans une bibliothèque complète mise à jour chaque mois. Power Query, VBA, SQL, Python, Power BI — tout ce qu’il faut pour automatiser votre travail data en 2026.
  • ✓ 30 prompts professionnels testés en production
  • ✓ Variables prêtes à remplir, code prêt à coller
  • ✓ Mises à jour incluses à vie
  • ✓ Compatible ChatGPT, Claude et Gemini
  • ✓ Accès immédiat après paiement

Accéder à la bibliothèque complète

Accès illimité · 29€ une seule fois

Related Posts

Laisser un commentaire