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

Table.DuplicateColumn : dupliquer une colonne dans Power Query

Garder la valeur d’origine à côté d’une version transformée, ou dériver un mois d’une date de facture. Avec le piège du type copié trop tôt.

Table.DuplicateColumn ajoute à une table une copie d’une colonne existante, sous un nouveau nom. Les valeurs et le type de la colonne d’origine sont recopiés dans la nouvelle. La copie est ensuite indépendante : vous pouvez la transformer sans toucher à l’original.

Elle sert dans deux situations fréquentes : conserver une valeur brute avant de la nettoyer, pour pouvoir comparer, et préparer une colonne dérivée, comme le mois tiré d’une date de facture. Dans l’éditeur, c’est ce qu’écrit la commande Dupliquer la colonne, disponible par clic droit sur l’en-tête ou dans l’onglet Ajouter une colonne.

Syntaxe

Trois paramètres obligatoires, un facultatif

Table.DuplicateColumn(
    table as table,
    columnName as text,
    newColumnName as text,
    optional columnType as nullable type
) as table
ParamètreRôle
tableLa table de départ.
columnNameLe nom de la colonne à copier.
newColumnNameLe nom de la copie. Ses valeurs et son type viennent de columnName.
columnTypeFacultatif. Un type. La documentation de l’éditeur le fait figurer dans la signature sans en décrire l’effet.

Dans l’exemple de la documentation, la copie s’ajoute à droite de la table, après la dernière colonne.

Exemples

Deux usages courants

Sur une table de factures avec les colonnes Client (Bob, Jim, Paul, Ringo), Date facture et Montant.

Garder la valeur brute avant nettoyage

let
    Copie   = Table.DuplicateColumn(Source, "Client", "Client brut"),
    Nettoye = Table.TransformColumns(Copie, {{"Client", Text.Upper, type text}})
in
    Nettoye

La colonne Client passe en majuscules (BOB, JIM), la colonne Client brut garde la saisie d’origine. Pratique pour vérifier qu’un nettoyage n’a rien abîmé.

Dériver le mois d’une date de facture

let
    Copie = Table.DuplicateColumn(Source, "Date facture", "Mois"),
    Mois  = Table.TransformColumns(Copie, {{"Mois", Date.Month, Int64.Type}})
in
    Mois

Une facture du 14 mars donne 3 dans la colonne Mois, et la date complète reste disponible. La colonne Date facture doit être de type date pour que Date.Month s’applique.

En pratique

Le piège du type copié trop tôt

La copie reprend le type que porte la colonne au moment de l’étape. Si vous dupliquez une date avant l’étape qui la type, la copie hérite d’un type texte ou indéterminé. L’étape de typage qui suit ne s’applique qu’aux colonnes qu’elle cite : l’original devient une date, la copie reste du texte. Dans le rapport, les tris et les filtres sur cette colonne se comportent alors comme sur du texte.

let
    Copie = Table.DuplicateColumn(Source, "Date facture", "Date origine"),
    Types = Table.TransformColumnTypes(Copie, {
        {"Date facture", type date},
        {"Date origine", type date}
    })
in
    Types

La parade la plus simple : dupliquer après l’étape de typage, pour que la copie hérite du bon type. À défaut, typez explicitement la copie comme ci-dessus. Le paramètre facultatif columnType existe, mais sa documentation ne décrit pas son comportement : nous préférons une étape de typage visible.

Questions fréquentes

Ce qu’on nous demande sur Table.DuplicateColumn

Où la nouvelle colonne est-elle placée ?

À droite de la table, après la dernière colonne, comme le montre l’exemple de la documentation. Pour la placer ailleurs, on ajoute une étape Table.ReorderColumns.

La copie suit-elle les modifications faites ensuite sur l’original ?

Non. Chaque étape travaille sur le résultat de la précédente : une transformation appliquée à l’original après la duplication ne touche pas la copie, et inversement.

Quelle différence avec une colonne personnalisée ?

Une colonne personnalisée calcule une valeur pour chaque ligne avec Table.AddColumn. Table.DuplicateColumn recopie simplement une colonne existante avec son type. Pour une copie à l’identique, la duplication est plus courte et plus lisible.

Sources. Documentation officielle de l’éditeur, consultée le 13 octobre 2026 : Table.DuplicateColumn.

Des colonnes de dates qui se trient comme du texte dans vos rapports ?

Nous reprenons l’ordre des étapes et le typage de vos requêtes pour que chaque colonne arrive dans le modèle avec le bon type.

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