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.
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ètre | Rôle |
|---|---|
table | La table de départ. |
columnName | Le nom de la colonne à copier. |
newColumnName | Le nom de la copie. Ses valeurs et son type viennent de columnName. |
columnType | Facultatif. 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.
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.
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.
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.
Pour aller plus loin
Table.ReorderColumns- Extraire l’année, le mois ou le jour d’une date.
- Les fonctions de dates en Power Query.
- Mettre une majuscule à chaque mot dans une colonne de texte.
- La référence complète Power Query et DAX.
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.