Référence Power Query · 5 min de lecture

Supprimer les espaces dans Power BI avec Text.Trim

Retirer les espaces parasites d’une colonne, les zéros de remplissage d’un code et les caractères invisibles d’un export.

Pour supprimer les espaces dans Power BI, on utilise la fonction Power Query Text.Trim. Par défaut, elle retire tous les espaces blancs situés au début et à la fin d’un texte. Les espaces au milieu du texte restent en place.

Elle a deux variantes : Text.TrimStart, qui ne traite que le début, et Text.TrimEnd, qui ne traite que la fin. Une quatrième fonction, Text.Clean, s’occupe d’un autre problème : les caractères de contrôle, comme les sauts de ligne, qui ne s’affichent pas mais empêchent deux valeurs d’être égales. Dans l’éditeur, ces opérations se trouvent dans le menu Format de l’onglet Transformer.

Syntaxe

Un texte, et des caractères à retirer en option

Text.Trim(text as nullable text, optional trim as any) as nullable text
Text.TrimStart(text as nullable text, optional trim as any) as nullable text
Text.TrimEnd(text as nullable text, optional trim as any) as nullable text
Text.Clean(text as nullable text) as nullable text
ParamètreRôle
textLe texte à nettoyer.
trimFacultatif. Un caractère unique ou une liste de caractères uniques. Il remplace les espaces blancs retirés par défaut, il ne s’y ajoute pas. Le retrait s’arrête dès qu’un caractère non listé est rencontré.

Text.Clean n’a pas de paramètre trim : elle supprime tous les caractères de contrôle du texte, où qu’ils se trouvent.

Exemples

Quatre cas courants

Retirer les espaces de début et de fin

Text.Trim("   Bob  ")

Le résultat est "Bob".

Retirer les zéros de remplissage d’un numéro de facture

Text.TrimStart("0004512", "0")

Le résultat est "4512". Seuls les zéros de tête disparaissent.

Retirer plusieurs caractères à la fois

Text.Trim("## Paul ##", {"#", " "})

Le résultat est "Paul". La liste permet de retirer à la fois les dièses et les espaces.

Supprimer un saut de ligne caché

Text.Clean("Jim#(lf)")

Le résultat est "Jim". #(lf) représente un saut de ligne, que Text.Clean supprime comme tout caractère de contrôle.

En pratique

Le paramètre trim qui fait oublier les espaces

Un export fournit des numéros de facture sous la forme " 00450 " : un espace, des zéros de remplissage, un espace. Vous voulez obtenir "450" et vous écrivez :

Text.Trim(" 00450 ", "0")

Le texte ressort inchangé. Le paramètre trim remplace les espaces retirés par défaut : la fonction ne cherche plus que des zéros, rencontre un espace en première position et s’arrête aussitôt.

Ajouter l’espace à la liste ne suffit pas non plus : Text.Trim(" 00450 ", {" ", "0"}) renvoie "45", car le zéro final de 450 est retiré avec le reste. La bonne écriture enchaîne deux étapes :

Text.TrimStart(Text.Trim(" 00450 "), "0")

Text.Trim retire d’abord les espaces, puis Text.TrimStart ne retire que les zéros de tête. Le résultat est "450". Méfiez-vous aussi du cas limite : un numéro qui vaut "0000" devient un texte vide.

Questions fréquentes

Ce qu’on nous demande sur Text.Trim

Text.Trim supprime-t-il les espaces au milieu du texte ?

Non. Seuls le début et la fin sont traités. Pour réduire plusieurs espaces intérieurs à un seul, on peut découper puis recoller : Text.Combine(List.Select(Text.Split(t, " "), each _ <> ""), " ").

Quelle différence entre Text.Trim et Text.Clean ?

Text.Trim retire des caractères aux deux extrémités, des espaces blancs par défaut. Text.Clean retire les caractères de contrôle, comme les sauts de ligne, à n’importe quelle position du texte.

Comment retirer seulement les espaces de fin ?

Avec Text.TrimEnd, qui laisse le début du texte intact. Par exemple Text.TrimEnd("Ringo ") renvoie "Ringo".

Pourquoi une fusion échoue-t-elle alors que les noms semblent identiques ?

Un espace en fin de valeur ou un saut de ligne invisible suffit à rendre deux textes différents. Appliquer Text.Trim et Text.Clean aux deux colonnes avant la fusion règle le problème dans la plupart des cas.

Sources. Documentation officielle de l’éditeur, consultée le 14 octobre 2026 : Text.Trim, Text.TrimStart, Text.TrimEnd, Text.Clean.

Vos fusions ratent des lignes sans raison apparente ?

Nous relisons vos requêtes pour traquer les espaces et les caractères invisibles qui cassent vos correspondances.

Réserver un appelou 01 83 64 60 25
01 83 64 60 25 Réserver un appel