---
title: "Table.Unpivot : dépivoter des colonnes Power Query"
description: "Table.Unpivot et Table.UnpivotOtherColumns : syntaxe, exemples sur un suivi mensuel, cellules null et nouveau mois qui reste en colonne."
url: "https://data-slconsulting.com/reference-power-query-dax/tableunpivot-power-query/"
lang: "fr-FR"
---

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

# Table.Unpivot : transformer des colonnes en lignes dans Power Query

Passer d’un tableau avec un mois par colonne à une table exploitable, avec une ligne par client et par mois. Et choisir entre Table.Unpivot et Table.UnpivotOtherColumns.

`Table.Unpivot` convertit un ensemble de colonnes en paires attribut et valeur. Chaque colonne citée devient une ligne : son nom part dans une colonne d’attribut, son contenu dans une colonne de valeur, et les autres colonnes de la ligne sont répétées à côté. C’est l’opération qu’il faut pour un fichier de suivi où chaque mois occupe sa propre colonne : tant que les mois restent en colonnes, impossible de filtrer sur une période ou de relier la table à un calendrier.

Dans l’éditeur, les commandes se trouvent par clic droit sur les en-têtes ou dans l’onglet **Transformer**. **Dépivoter uniquement les colonnes sélectionnées** écrit `Table.Unpivot`. **Dépivoter les colonnes** et **Dépivoter les autres colonnes** écrivent sa variante `Table.UnpivotOtherColumns`, que l’interface produit le plus souvent.

Syntaxe

## Quatre paramètres, tous obligatoires

```
Table.Unpivot(
table as table,
pivotColumns as list,
attributeColumn as text,
valueColumn as text
) as table
```

| Paramètre | Rôle |
| --- | --- |
| `table` | La table de départ. |
| `pivotColumns` | La liste des colonnes à transformer en lignes. |
| `attributeColumn` | Le nom de la nouvelle colonne qui recevra les anciens en-têtes. |
| `valueColumn` | Le nom de la nouvelle colonne qui recevra les valeurs. |

`Table.UnpivotOtherColumns` a exactement la même signature, mais sa liste désigne l’inverse : les colonnes à **conserver**. Toutes les autres sont dépivotées. Par défaut, l’interface nomme les deux nouvelles colonnes Attribut et Valeur.

Exemples

## Un tableau de suivi mensuel

Sur une table avec une colonne Client (Bob, Jim) et une colonne par mois : Janvier, Février, Mars. Jim n’a rien facturé en février, la cellule est vide (null).

### Dépivoter les mois cités

```
Table.Unpivot(Source, {"Janvier", "Février", "Mars"}, "Mois", "Montant")
```

Le résultat compte trois colonnes, Client, Mois et Montant, et une ligne par client et par mois. Bob obtient trois lignes. Jim n’en obtient que deux : comme dans l’exemple de la documentation, la cellule null ne produit pas de ligne.

### Dépivoter tout sauf le client

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

Même résultat sur ce tableau. La différence n’apparaît que lorsque les colonnes de la source changent.

En pratique

## Le mois d’avril qui reste en colonne

Le fichier de suivi s’enrichit d’une colonne par mois. En avril, une colonne Avril apparaît. Avec `Table.Unpivot` et sa liste figée, seuls Janvier, Février et Mars sont dépivotés : Avril reste une colonne à part, ses montants n’entrent pas dans la colonne Montant, et les totaux du rapport ignorent le mois sans aucune erreur. La documentation de l’éditeur décrit précisément ce comportement : la colonne ajoutée après coup reste inchangée.

Quand la liste des mois grandit, on inverse la logique : on cite ce qui est stable, les colonnes descriptives, et on laisse Power Query dépivoter tout le reste.

```
let
Source = ...,
Depivote = Table.UnpivotOtherColumns(Source, {"Client"}, "Mois", "Montant")
in
Depivote
```

La contrepartie : toute nouvelle colonne descriptive, une colonne Ville par exemple, serait elle aussi dépivotée. Il faut l’ajouter à la liste des colonnes conservées dès qu’elle apparaît.

Questions fréquentes

## Ce qu’on nous demande sur Table.Unpivot

### Pourquoi certaines lignes disparaissent-elles après le dépivotage ?

Les cellules null ne produisent pas de ligne, comme le montre l’exemple de la documentation. Si chaque client doit avoir une ligne pour chaque mois, remplacez d’abord les null par 0, par exemple avec Table.ReplaceValue(Source, null, 0, Replacer.ReplaceValue, {« Janvier », « Février », « Mars »}).

### Quelle différence entre Table.Unpivot et Table.UnpivotOtherColumns ?

Table.Unpivot reçoit la liste des colonnes à dépivoter. Table.UnpivotOtherColumns reçoit la liste des colonnes à garder et dépivote toutes les autres. La seconde absorbe les nouvelles colonnes de la source, la première les laisse de côté.

### Pourquoi la colonne des mois est-elle du texte ?

Elle reçoit les anciens en-têtes de colonnes, qui sont des noms. Pour la relier à un calendrier, il faut la convertir ensuite en date ou la rapprocher d’une table de correspondance des mois.

### Comment revenir à un mois par colonne ?

C’est l’opération inverse, Table.Pivot, que l’interface écrit derrière la commande Colonne dynamique. Dans un modèle Power BI, la forme dépivotée reste en général la plus pratique à analyser.

À côté

## Pour aller plus loin

- [`Table.ExpandTableColumn`](https://data-slconsulting.com/reference-power-query-dax/tableexpandtablecolumn-power-query/)
- [Migrer des tableaux Excel vers Power BI](https://data-slconsulting.com/migrer-excel-power-bi/).
- [Créer une table de dates dynamique](https://data-slconsulting.com/reference-power-query-dax/creer-un-calendrier-dynamique-power-bi/) pour relier les mois.
- [Les fonctions de tables en Power Query](https://data-slconsulting.com/tables-power-query/).
- [La référence complète Power Query et DAX](https://data-slconsulting.com/reference-power-query-dax/).

**Sources.** Documentation officielle de l’éditeur, consultée le 13 octobre 2026 : [Table.Unpivot](https://learn.microsoft.com/fr-fr/powerquery-m/table-unpivot), [Table.UnpivotOtherColumns](https://learn.microsoft.com/fr-fr/powerquery-m/table-unpivotothercolumns), [Dépivoter des colonnes](https://learn.microsoft.com/fr-fr/power-query/unpivot-column).

## Un nouveau mois dans le fichier et des totaux qui ne bougent pas ?

Nous transformons vos tableaux de suivi Excel en tables qui absorbent les nouvelles périodes sans retouche.

[Réserver un appel](https://data-slconsulting.com/contact/) ou 01 83 64 60 25

---

Version Markdown de https://data-slconsulting.com/reference-power-query-dax/tableunpivot-power-query/ (pour les agents IA : en-tête Accept: text/markdown, suffixe .md ou ?mode=agent). Index du site pour les agents : https://data-slconsulting.com/llms.txt. API publique : https://data-slconsulting.com/developers/. Contact : contact@data-slconsulting.com, 01 83 64 60 25.
