Lire et modifier le code M
Tu n'as pas besoin d'écrire du M pour utiliser Power Query. Mais savoir le lire te permet de comprendre une requête héritée, de corriger une erreur en dix secondes et de faire ce que les menus ne savent pas faire.
Télécharger la fiche PDF gratuiteSans inscription, mise en page prête à imprimer01Définition
Le langage M est le langage dans lequel Power Query enregistre chaque requête. Une requête est un bloc let … in : entre les deux, une suite d'étapes « nom = expression » ; après in, l'étape renvoyée comme résultat.
02Le simulateur
Ouvre l'Éditeur avancé du simulateur, puis passe en « Noms renommés ».
03La structure d'une requête
let Source = Excel.CurrentWorkbook(){[Name="Stock"]}[Content], #"Lignes filtrées" = Table.SelectRows(Source, each [Catégorie] = "Informatique"), #"Lignes triées" = Table.Sort(#"Lignes filtrées", {{"Stock", Order.Descending}}) in #"Lignes triées"
- Chaque étape se termine par une virgule, sauf la dernière avant in.
- Un nom avec des espaces ou des accents s'écrit #"…".
- Chaque étape reçoit le nom de l'étape précédente en premier argument : c'est le fil de la recette.
- each signifie « pour chaque ligne », et [Colonne] la valeur de cette colonne dans la ligne.
04Les retouches utiles
| Besoin | Retouche dans la barre de formule |
|---|---|
| Renommer les colonnes produites | Changer "Attribut", "Valeur" en "Mois", "CA" |
| Ajouter le type d'une colonne calculée | Ajouter , type number en dernier argument de Table.AddColumn |
| Rendre un filtre insensible à la casse | Text.Lower([Ville]) = "lille" |
| Ignorer une colonne qui peut manquer | MissingField.Ignore en dernier argument de Table.RemoveColumns |
Dans l'Éditeur avancé, // commence un commentaire jusqu'à la fin de la ligne. Explique pourquoi une étape existe : le toi de dans six mois te remerciera.
05Pièges à éviter
Le M est sensible à la casse : table.selectrows n'existe pas, Table.SelectRows oui. Même chose pour les noms de colonnes : [ville] n'est pas [Ville].
Si tu renommes une étape dans l'Éditeur avancé, renomme aussi chaque endroit où elle est citée, y compris après in. Le clic droit > Renommer du volet Étapes appliquées le fait pour toi.
06Questions fréquentes
Qu'est-ce que le langage M dans Power Query ?
Le langage M est le langage dans lequel Power Query enregistre chaque requête. Une requête est un bloc let … in : entre les deux, une suite d'étapes « nom = expression » ; après in, l'étape renvoyée comme résultat.
Quel est le piège le plus fréquent avec le langage M ?
Majuscules et minuscules. Le M est sensible à la casse : table.selectrows n'existe pas, Table.SelectRows oui. Même chose pour les noms de colonnes : [ville] n'est pas [Ville].
La fiche « Lire et modifier le code M » est-elle gratuite ?
Oui. La fiche, son simulateur et sa version PDF sont en accès libre et gratuit, sans inscription. Elle fait partie du cours Power Query gratuit de mesetudesdecas.fr, qui compte 22 fiches.
Passez de la fiche à la mise en situation
Les études de cas de mesetudesdecas.fr placent vos apprenants face à un vrai besoin d'entreprise : données sales à préparer avec Power Query, modèle de données et tableau de bord, avec énoncé, corrigé et pas-à-pas du formateur.
Voir le catalogueVoir aussi le cours de formules Excel gratuit
Fiche V1.0 | Dernière mise à jour : 30/10/2026 | Clément Delobel, formateur Power Query et Power BI