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

Table.ReorderColumns : changer l’ordre des colonnes dans Power Query

Remettre les colonnes d’un export dans un ordre lisible, sans que la requête casse le jour où une colonne disparaît de la source.

Table.ReorderColumns renvoie la même table avec ses colonnes placées dans l’ordre que vous indiquez. Les valeurs ne changent pas, le nombre de lignes non plus : seule la disposition bouge. Elle sert surtout à présenter une table proprement, par exemple pour mettre le client et le mois devant le montant avant de charger les données ou de les exporter vers Excel.

Dans l’éditeur, c’est l’étape qui apparaît quand vous faites glisser une colonne ou que vous utilisez la commande Déplacer (onglet Transformer, choix Avant, Après, Au début, À la fin). L’interface y inscrit alors la liste complète des colonnes de la table, et c’est là que naît le piège décrit plus bas.

Syntaxe

Une liste de noms, et un garde-fou facultatif

Table.ReorderColumns(
    table as table,
    columnOrder as list,
    optional missingField as nullable number
) as table
ParamètreRôle
tableLa table de départ.
columnOrderLa liste des noms de colonnes, dans l’ordre voulu. Les colonnes absentes de la liste ne sont pas réorganisées.
missingFieldFacultatif. Ce qu’il faut faire si une colonne citée n’existe pas : MissingField.Error (erreur, comportement par défaut), MissingField.Ignore (la colonne est ignorée) ou MissingField.UseNull (le champ manquant est inclus avec des valeurs null).

Point souvent mal compris : citer une seule colonne ne la déplace pas. Les colonnes listées échangent leurs places entre elles, les autres restent où elles sont.

Exemples

Trois façons de s’en servir

Sur un export de factures dont les colonnes arrivent dans l’ordre Montant, Client, Mois, avec des lignes pour Bob, Jim, Paul et Ringo.

Imposer l’ordre complet

Table.ReorderColumns(Source, {"Client", "Mois", "Montant"})

Toutes les colonnes sont citées : la table sort dans l’ordre Client, Mois, Montant.

Permuter deux colonnes

Table.ReorderColumns(Source, {"Mois", "Client"})

Client et Mois occupaient les places 2 et 3. Elles les gardent, mais dans l’ordre demandé : Montant, Mois, Client. Montant, non citée, ne bouge pas.

Tolérer une colonne absente

Table.ReorderColumns(Source, {"Client", "Remise"}, MissingField.Ignore)

La colonne Remise n’existe pas dans cet export. Sans le troisième argument, l’étape échoue ; avec MissingField.Ignore, elle est simplement passée. Client étant alors la seule colonne citée, la table sort inchangée, sans erreur.

En pratique

La requête qui casse quand une colonne disparaît

Vous déplacez une colonne à la souris. Power Query écrit une étape qui cite toutes les colonnes de la table, une par une :

#"Colonnes permutées" = Table.ReorderColumns(Source,
    {"Client", "Mois", "Montant", "Remise", "Commentaire"})

Le mois suivant, l’outil source ne fournit plus la colonne Commentaire. L’actualisation s’arrête sur une erreur indiquant que la colonne est introuvable, alors que personne n’a besoin de cette colonne. Une étape purement cosmétique bloque toute la chaîne.

Deux parades, à combiner selon le cas. La première : ne citer que les colonnes dont l’ordre compte vraiment. La seconde : ajouter MissingField.Ignore pour qu’une absence ne soit plus bloquante.

#"Colonnes permutées" = Table.ReorderColumns(Source,
    {"Client", "Mois", "Montant"},
    MissingField.Ignore)

Gardez cependant l’erreur par défaut sur les colonnes indispensables au calcul : si le montant disparaît, mieux vaut que la requête s’arrête plutôt qu’elle livre un rapport vide sans prévenir.

Questions fréquentes

Ce qu’on nous demande sur Table.ReorderColumns

Faut-il citer toutes les colonnes de la table ?

Non. Les colonnes absentes de la liste ne sont pas réorganisées. Seules les colonnes citées changent de place, entre les positions qu’elles occupaient déjà.

Comment placer une colonne en premier sans lister toutes les autres ?

On construit la liste par calcul : la colonne voulue, puis toutes les autres dans leur ordre actuel. Par exemple Table.ReorderColumns(Source, {"Client"} & List.RemoveItems(Table.ColumnNames(Source), {"Client"})). La requête reste valable si des colonnes apparaissent ou disparaissent.

Que fait MissingField.UseNull ?

Au lieu de produire une erreur ou d’ignorer la colonne manquante, Power Query inclut le champ manquant avec des valeurs null. C’est utile quand une étape suivante attend absolument cette colonne.

L’ordre des colonnes a-t-il un effet sur le modèle Power BI ?

Il ne change ni les valeurs ni les relations. Il compte surtout pour la lisibilité dans l’éditeur et pour les tables que l’on exporte ou que l’on relit telles quelles.

Sources. Documentation officielle de l’éditeur, consultée le 13 octobre 2026 : Table.ReorderColumns, MissingField.Type, Déplacer des colonnes.

Vos actualisations s’arrêtent dès qu’une colonne change de nom ?

Nous relisons vos requêtes pour retirer les étapes qui dépendent d’une liste figée de colonnes.

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