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.
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ètre | Rôle |
|---|---|
text | Le texte à nettoyer. |
trim | Facultatif. 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.
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.
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.
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.
Pour aller plus loin
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.