Ce que vous saurez faire à la fin
- Importer automatiquement vos fichiers sources (Excel, CSV, base SQL, web)
- Créer un rapport Power Query qui s’actualise en 1 clic
- Nettoyer et transformer 100 000 lignes sans formule
- Consolider plusieurs fichiers d’un dossier
- Charger le résultat dans un TCD toujours à jour
Durée : 2h30. Pré-requis : Excel 2019+ ou 365, connaissance basique des TCD.
Étape 1 — Ouvrir l’éditeur Power Query
- Excel > Onglet Données > Obtenir des données.
- Menu déroulant > À partir d’un fichier > À partir d’un classeur pour un Excel. Ou À partir d’un fichier texte/CSV, À partir d’une base de données, À partir du Web.
- Sélectionnez le fichier > Importer.
- Fenêtre Navigateur : cochez la feuille ou table à importer > cliquez Transformer les données (pas Charger).
- L’éditeur Power Query s’ouvre : ruban en haut, aperçu au centre, étapes appliquées à droite.
Étape 2 — Promouvoir la première ligne en en-têtes
- Si la première ligne contient les titres de colonnes : onglet Accueil > Utiliser la première ligne comme en-têtes.
- Une étape apparaît à droite : En-têtes promus. Cliquez dessus pour revenir, clic droit > Supprimer pour annuler.
- Toute transformation crée une étape. Vous pouvez revenir en arrière sans perdre le travail.
Étape 3 — Typer chaque colonne correctement
- Cliquez sur l’icône à gauche du nom de colonne (ABC, 123, date…).
- Choisissez le bon type : Nombre décimal, Date, Texte, Booléen.
- Pour une colonne Monétaire : Devise.
- Types natifs M (pour référence dans les formules) :
type text → texte
type number → nombre (décimal)
Int64.Type → entier long
Currency.Type → monétaire
Percentage.Type → pourcentage
type date → date
type datetime → date et heure
type logical → VRAI/FAUX
Étape 4 — Supprimer colonnes et lignes inutiles
- Sélectionnez les colonnes à retirer (Ctrl+clic pour multi). Clic droit > Supprimer les colonnes.
- Pour garder uniquement certaines : Accueil > Choisir les colonnes.
- Supprimer lignes vides : Accueil > Supprimer les lignes > Supprimer les lignes vides.
- Supprimer lignes d’en-tête répétées : Supprimer les lignes > Supprimer les premières lignes > N.
- Filtrer les lignes : cliquez sur la flèche de l’en-tête > Filtres numériques/textuels.
Étape 5 — Nettoyer les données textuelles
- Colonne avec majuscules mixtes : clic droit > Transformer > majuscule ou minuscule ou Capitalisation.
- Espaces invisibles : Transformer > Rogner (trim).
- Caractères spéciaux : Transformer > Nettoyer.
- Remplacement : clic droit > Remplacer les valeurs.
- Exemple pratique :
= Table.TransformColumns(Source, {
{"Ville", each Text.Proper(Text.Trim(_)), type text},
{"Telephone", each Text.Remove(_, {" ", "-", ".", "(", ")"}), type text}
})
Étape 6 — Ajouter une colonne calculée
- Ajouter une colonne > Colonne personnalisée.
- Nom : CA.
- Formule :
= [Quantite] * [PU] * (1 - [Remise])
- OK. Nouvelle colonne ajoutée.
- Autres colonnes utiles :
// Année d'une date
= Date.Year([Date])
// Formatage conditionnel
= if [CA] > 1000000 then "Grand" else if [CA] > 100000 then "Moyen" else "Petit"
// Texte concaténé
= Text.Combine({[Prenom], [Nom]}, " ")
Étape 7 — Consolider 12 fichiers d’un dossier
- Données > Obtenir des données > À partir d’un fichier > À partir d’un dossier.
- Chemin :
C:\Rapports\Ventes> OK. - Liste des fichiers affichée > cliquez Combiner > Combiner et transformer les données.
- Choisissez la feuille ou table commune dans le premier fichier. OK.
- Power Query crée une fonction
fnTransformet une requête Fichiers Transformer. - Le résultat consolide automatiquement tous les fichiers, avec une colonne Source.Name indiquant le fichier d’origine.
- Code M généré :
let
Source = Folder.Files("C:\Rapports\Ventes"),
Filtre = Table.SelectRows(Source, each [Extension] = ".xlsx"),
Invoke = Table.AddColumn(Filtre, "Data", each Excel.Workbook([Content]){0}[Data]),
Expand = Table.ExpandTableColumn(Invoke, "Data", {"Date","Client","CA"}, {"Date","Client","CA"})
in
Expand
Étape 8 — Fusionner deux requêtes (JOIN)
- Vous avez une requête Ventes et une requête Produits pour enrichir avec la catégorie produit.
- Dans Ventes : Accueil > Fusionner des requêtes > Fusionner des requêtes.
- Table de droite : Produits.
- Cliquez la colonne CodeProduit dans Ventes, puis Code dans Produits (colonnes clés).
- Type de jointure :
- Left Outer : garde toutes les lignes de Ventes (défaut)
- Inner : uniquement les lignes avec correspondance
- Right Outer, Full Outer, Left Anti, Right Anti pour cas avancés
- OK. Une nouvelle colonne Produits apparaît avec des valeurs Table.
- Cliquez l’icône d’expansion à droite du titre > cochez les champs à récupérer (Categorie, Famille) > OK.
Étape 9 — Grouper et agréger
- Pour calculer CA total par commercial : Accueil > Grouper par.
- Grouper par : Commercial.
- Nouveau nom de colonne : CA_Total. Opération : Somme. Colonne : CA. OK.
- Pour plusieurs agrégations en même temps : mode Avancé, ajoutez des lignes :
= Table.Group(Source, {"Commercial"}, {
{"CA_Total", each List.Sum([CA]), type number},
{"Nb_Commandes", each Table.RowCount(_), Int64.Type},
{"Panier_Moyen", each List.Average([CA]), type number},
{"Dernier_CA", each List.Max([Date]), type date}
})
Étape 10 — Pivoter / dépivoter
- Votre tableau a une colonne Mois en format large (Janvier, Février… en colonnes). Vous voulez en long.
- Sélectionnez les colonnes à conserver (Commercial, Région). Clic droit > Dépivoter les autres colonnes.
- Résultat : 2 colonnes (Attribut = mois, Valeur = CA).
- Inverse : Pivoter. Sélectionnez la colonne Attribut > Transformer > Colonne pivot > Valeurs : Valeur, Fonction : Somme.
Étape 11 — Paramétrer une requête
- Accueil > Gérer les paramètres > Nouveau paramètre.
- Nom :
pAnnee. Type : Nombre entier. Valeur :2026. - Dans votre requête, modifiez un filtre pour utiliser le paramètre :
= Table.SelectRows(Source, each Date.Year([Date]) = pAnnee)
- Pour changer l’année : modifiez le paramètre dans l’éditeur, toutes les requêtes qui l’utilisent se mettent à jour.
Étape 12 — Charger vers Excel
- Accueil > Fermer et charger > Fermer et charger dans.
- Options :
- Tableau : affiche les données dans une feuille (pour < 100 000 lignes)
- Rapport de TCD : crée directement un TCD connecté
- Connexion uniquement : ne charge pas dans feuille mais reste disponible pour TCD (gros volumes)
- Cochez Ajouter ces données au modèle de données pour activer Power Pivot (DAX, relations entre tables).
- OK. Les données apparaissent dans Excel.
Étape 13 — Actualisation automatique
- Données > Requêtes et connexions.
- Clic droit sur la requête > Propriétés.
- Cochez :
- Actualiser à l’ouverture du fichier
- Actualiser toutes les N minutes (ex: 15)
- Activer l’actualisation en arrière-plan
- Pour actualiser manuellement : Données > Actualiser tout ou
Ctrl+Alt+F5.
Étape 14 — Gérer les erreurs
- Colonne avec erreurs (triangle rouge) : clic droit sur l’en-tête > Remplacer les erreurs > 0 ou null.
- Lignes à exclure : Supprimer les erreurs.
- Fichier source manquant : M renvoie une erreur. Utilisez
try...otherwise:
= try Excel.Workbook(File.Contents("C:\...\fichier.xlsx")){0}[Data]
otherwise #table({}, {})
Étape 15 — Tester et maintenir
- Déposez un nouveau fichier dans le dossier source.
- Ctrl+Alt+F5 > Power Query re-traite tout.
- Vérifiez 3 KPI critiques après actualisation. Ecarts anormaux = nouveau fichier corrompu.
- Renommez les étapes importantes : clic droit > Renommer. Pour la lisibilité 6 mois plus tard.
- Documentez les requêtes : clic droit > Propriétés > Description.
Erreurs courantes
- « DataFormat.Error » : une colonne avec valeurs mélangées (dates + texte). Typez en texte ou nettoyez avant.
- Colonnes qui disparaissent après actualisation : le fichier source a changé de structure. Adaptez ou créez une requête tampon.
- Très lent sur gros volumes : ajoutez Table.Buffer après une étape coûteuse pour mettre en cache.
- Privacy levels bloquent la fusion : Données > Paramètres de source de données > Options globales > décocher Toujours ignorer les niveaux de confidentialité.
Checklist
✓ En-têtes promus, types corrects sur chaque colonne
✓ Données nettoyées (espaces, casse, caractères spéciaux)
✓ Jointures bien configurées (type, colonnes clés)
✓ Paramètres pour les valeurs variables
✓ Actualisation auto à l'ouverture
✓ Gestion d'erreurs try/otherwise sur sources externes
✓ Chargé en "Connexion uniquement" si gros volumes
✓ Documenté et étapes renommées