Le même outil que dans Power BI
Power Query est intégré à Excel pour Windows depuis plusieurs versions et à Microsoft 365 ; Excel pour Mac et Excel pour le web en proposent une partie. C’est le même moteur que dans Power BI Desktop, avec le même langage M : tout ce que vous apprenez ici se réutilise tel quel dans le cours BI2, et inversement. Seuls l’emplacement des commandes et les options de chargement diffèrent.
Pourquoi l’utiliser dans Excel plutôt que copier-coller ? Parce que le nettoyage devient une recette enregistrée : le mois prochain, vous remplacez le fichier source, cliquez sur Actualiser, et toutes les étapes sont rejouées. Plus de manipulations manuelles à refaire, plus d’oubli.
Importer un fichier
Dans l’onglet Données :
- Obtenir des données > À partir d’un fichier > À partir d’un texte/CSV (ou le bouton À partir d’un fichier texte/CSV) ;
- choisissez le fichier : un aperçu s’ouvre, avec l’origine du fichier (encodage, 65001 pour UTF-8), le délimiteur et la détection des types ;
- cliquez sur Transformer les données pour ouvrir l’éditeur, plutôt que Charger qui importerait sans nettoyer.
L’éditeur est identique à celui de Power BI : volet des requêtes, aperçu, étapes appliquées à droite, barre de formule (onglet Affichage), et les options Qualité, Distribution et Profil de la colonne pour diagnostiquer.
Nettoyer dans le bon ordre
Un fichier exporté d’un logiciel contient souvent des espaces, des majuscules incohérentes, des lignes vides, des doublons et des valeurs manquantes. Ordre recommandé :
- Structure : vérifier les en-têtes promus, Accueil > Supprimer les lignes > Supprimer les lignes vides ;
- Texte : sélectionnez les colonnes texte, Transformer > Format > Supprimer les espaces, puis Mettre en majuscules chaque mot ;
- Doublons : sélectionnez la colonne clé (ou toutes les colonnes), Supprimer les lignes > Supprimer les doublons ;
- Types : clic droit sur l’en-tête > Modifier le type > Utilisation des paramètres régionaux si le format diffère de celui du poste (dates
jj/mm/aaaa, décimales) ; - Valeurs manquantes : Transformer > Remplacer les valeurs, en remplaçant
nullpar0quand cela a un sens métier.
Normaliser le texte avant de supprimer les doublons est essentiel : « Paris » et « paris » ne sont pas des doublons pour Power Query tant que la casse diffère.
let
Source = Csv.Document(File.Contents("C:\Formation\clients_brut.csv"), [Delimiter = ";", Encoding = 65001]),
Entetes = Table.PromoteHeaders(Source, [PromoteAllScalars = true]),
SansVides = Table.SelectRows(Entetes, each [ID Client] <> "" and [ID Client] <> null),
Texte = Table.TransformColumns(SansVides, {{"Nom", each Text.Proper(Text.Trim(_)), type text},
{"Ville", each Text.Proper(Text.Trim(_)), type text}}),
SansDoublons = Table.Distinct(Texte, {"ID Client"}),
Types = Table.TransformColumnTypes(SansDoublons, {{"ID Client", Int64.Type},
{"Date inscription", type date}, {"CA", type number}}, "fr-FR"),
CAComplet = Table.ReplaceValue(Types, null, 0, Replacer.ReplaceValue, {"CA"})
in
CAComplet
Vous n’avez pas à écrire ce code : l’interface le génère. Mais le lire dans Accueil > Éditeur avancé permet de vérifier l’ordre et de renommer les étapes de façon parlante.
Choisir où charger
Accueil > Fermer et charger crée un tableau structuré sur une nouvelle feuille. Fermer et charger dans… offre le choix :
| Option | Quand l’utiliser |
|---|---|
| Tableau | le résultat doit être visible, filtré, utilisé dans des formules |
| Rapport de tableau croisé dynamique | on veut directement un TCD |
| Créer uniquement la connexion | requête intermédiaire, réutilisée par d’autres requêtes |
| Ajouter ces données au modèle de données | gros volumes, plusieurs tables reliées, mesures DAX (leçons 3 et 4) |
Une feuille Excel est limitée à 1 048 576 lignes ; le modèle de données n’a pas cette limite par feuille, ce qui en fait la bonne destination pour des volumes importants.
Le volet Requêtes et connexions (Données > Requêtes et connexions) liste les requêtes, le nombre de lignes chargées et les éventuelles erreurs. Un clic droit > Charger dans… permet de changer la destination après coup.
Ne jamais modifier le tableau chargé à la main
Le tableau produit par une requête est réécrit à chaque actualisation : une correction tapée dedans sera perdue. Toute correction se fait dans la requête. Vous pouvez en revanche ajouter des colonnes de formules à droite du tableau chargé : Excel les conserve et les recopie sur les nouvelles lignes.
Exercices
Les solutions et les tests restent sur le serveur. Dans l'espace étudiant, ton code est exécuté et corrigé, et le tuteur donne des indices avant la solution.
Nettoyer un fichier clients
Créez avec le Bloc-notes le fichier
C:\Formation\clients_brut.csv(encodage UTF-8) :ID Client;Nom;Ville;Date inscription;CA 1; dupont marie ;lyon;15/01/2025;1200 2;MARTIN Paul;Paris;03/02/2025;850 2;MARTIN Paul;Paris;03/02/2025;850 3;Durand Léa; LILLE;20/02/2025; ;;;; 4;Petit Hugo;Nantes;11/03/2025;430 5;Moreau Chloé;paris;28/03/2025;2100- Importez-le dans Excel avec Power Query et ouvrez l’éditeur (délimiteur point-virgule).
- Supprimez les lignes vides, nettoyez
NometVille(Supprimer les espaces puis Mettre en majuscules chaque mot). - Supprimez les doublons sur
ID Client. - Typez
ID Clienten nombre entier,Date inscriptionen date avec les paramètres régionaux Français (France),CAen nombre décimal. - Remplacez les
nulldeCApar0, renommez la requêteClientset chargez-la dans un tableau.
- La requête Clients comporte des étapes nommées dans l'ordre : lignes vides, texte, doublons, types, remplacement
- Le tableau chargé contient 5 lignes et 5 colonnes
- Les villes affichées sont Lyon, Paris, Lille, Nantes, Paris (sans espace, majuscule initiale)
- La date de MARTIN Paul est le 3 février 2025
Changer la destination de chargement
Dans le classeur de l’exercice précédent :
- Dupliquez la requête
Clientset nommez la copieClientsParis; filtrez-la surVille = Paris. - Chargez
ClientsParisen connexion uniquement. - Ouvrez le volet Requêtes et connexions et relevez ce qui est affiché pour chaque requête.
- Modifiez ensuite le chargement de
ClientsParispour l’ajouter au modèle de données.
- Le volet affiche « 5 lignes chargées » pour Clients et « Connexion uniquement » pour ClientsParis avant l'étape 4
- Aucune feuille n'a été créée pour ClientsParis
- Après l'étape 4, ClientsParis apparaît dans le modèle de données (Données > Outils de données > Gérer le modèle de données, ou Power Pivot)
- Dupliquez la requête
Moteur partagé
Une requête Power Query écrite dans Excel peut-elle être réutilisée dans Power BI Desktop ?
- Non, les langages sont différents
- Oui, c'est le même langage M ; on peut copier le code de l'éditeur avancé
- Seulement si le fichier est au format .xlsm
- Seulement pour les fichiers CSV
Quiz de fin de leçon
Que devient le fichier CSV source après vos transformations Power Query ?
- Il est modifié
- Il reste intact ; seules les étapes sont enregistrées dans le classeur
- Il est supprimé
Quelle option choisir pour une requête intermédiaire utilisée seulement par d’autres requêtes ?
- Tableau
- Créer uniquement la connexion
- Rapport de graphique croisé dynamique
Pourquoi normaliser la casse avant de supprimer les doublons ?
- Pour accélérer l'actualisation
- Parce que « paris » et « Paris » sont des valeurs différentes pour Power Query
- Ce n'est pas nécessaire
La suite du cours
- Combiner plusieurs sources : ajouter et fusionner20 min
- Le modèle de données et Power Pivot20 min
- Premières mesures DAX20 min
- Actualiser, paramétrer et passer à Power BI15 min