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

Text.Upper : convertir un texte en majuscules dans Power Query

Mettre en capitales un nom de client, un code ou un libellé, pour que des saisies différentes deviennent enfin comparables.

Text.Upper renvoie le texte reçu avec tous ses caractères convertis en majuscules. Rien d’autre ne change : ni la longueur, ni l’ordre des caractères, ni les espaces. On s’en sert surtout pour normaliser une colonne avant de la comparer, de la fusionner ou de la dédoublonner, par exemple quand le même client est saisi « Bob » dans une facture et « BOB » dans une autre.

Dans l’éditeur, la même conversion se trouve dans le menu Format de l’onglet Transformer. En M, on l’écrit le plus souvent à l’intérieur de Table.TransformColumns pour traiter toute une colonne d’un coup.

Syntaxe

Un texte, et une culture facultative

Text.Upper(
    text as nullable text,
    optional culture as nullable text
) as nullable text
ParamètreRôle
textLe texte à convertir. Le type nullable text indique que la fonction accepte aussi une valeur null.
cultureFacultatif. Un code de culture sous forme de texte, par exemple "en-US". La documentation ne détaille pas l’effet de chaque culture sur la conversion.

La fonction attend du texte : une colonne de nombres doit d’abord être convertie, par exemple avec Text.From.

Exemples

Trois façons de s’en servir

Sur une table de factures avec une colonne Client qui contient Bob, jim, Paul et RINGO, saisis sans règle commune.

Convertir une valeur

Text.Upper("aBcD")

Le résultat est "ABCD". C’est l’exemple de la documentation officielle.

Convertir toute une colonne

Table.TransformColumns(Factures, {{"Client", Text.Upper, type text}})

La colonne Client contient désormais BOB, JIM, PAUL et RINGO. Le troisième élément de la paire fixe le type de la colonne transformée.

Préciser la culture

Text.Upper("facture de mars", "fr-FR")

Le résultat est "FACTURE DE MARS". Sur des libellés en français, nous omettons en général ce paramètre.

En pratique

La fusion qui ne trouve pas Bob

Vous fusionnez une table de factures avec une table de clients sur le nom. Côté factures, le nom est saisi « bob » ; côté clients, « Bob ». La fusion ne trouve aucune correspondance pour cette ligne, et la facture se retrouve sans client dans le rapport.

La raison est écrite dans la spécification du langage M : deux textes sont comparés de façon ordinale et en respectant la casse. Pour Power Query, « bob » et « Bob » sont deux valeurs différentes.

La parade consiste à créer, dans chacune des deux tables, une clé normalisée, et à fusionner sur cette clé plutôt que sur le nom affiché :

#"Clé client" = Table.AddColumn(
    Factures, "CleClient",
    each Text.Upper(Text.Trim([Client])), type text)

Text.Trim retire au passage les espaces de début et de fin, l’autre cause fréquente de correspondances manquées. La colonne Client d’origine reste intacte pour l’affichage : seule la clé sert à la fusion.

Questions fréquentes

Ce qu’on nous demande sur Text.Upper

Quelle différence avec Text.Proper ?

Text.Upper met toutes les lettres en majuscules. Text.Proper met une majuscule à la première lettre de chaque mot, ce qui convient mieux à un nom destiné à l’affichage.

Que renvoie Text.Upper sur une valeur null ?

La signature accepte un texte nullable et renvoie un texte nullable : une cellule vide à null ne provoque pas d’erreur et reste null.

Peut-on comparer deux textes sans changer leur casse ?

Oui. Plusieurs fonctions de listes acceptent un comparateur, par exemple List.Contains(Clients, "bob", Comparer.OrdinalIgnoreCase), qui ignore la casse sans modifier les données.

Faut-il renseigner le paramètre culture ?

Il est facultatif. La documentation officielle se limite à l’exemple "en-US" ; nous ne le renseignons que lorsqu’une règle propre à une langue l’impose.

Sources. Documentation officielle de l’éditeur, consultée le 14 octobre 2026 : Text.Upper, Table.TransformColumns, Comparer.OrdinalIgnoreCase, Opérateurs du langage M.

Vos fusions laissent des factures sans client ?

Nous relisons vos requêtes pour repérer les clés de jointure qui dépendent d’une saisie et les normaliser.

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