---
title: "Table.Column : extraire une colonne en liste (Power Query)"
description: "Table.Column renvoie une colonne sous forme de liste dans Power Query : syntaxe, exemples avec List.Sum et List.Distinct, piège des colonnes renommées."
url: "https://data-slconsulting.com/reference-power-query-dax/tablecolumn-power-query/"
lang: "fr-FR"
---

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

# Table.Column : récupérer une colonne sous forme de liste dans Power Query

Extraire les valeurs d’une colonne pour les additionner, les dédoublonner ou s’en servir comme filtre dans une autre requête.

`Table.Column` renvoie les valeurs d’une colonne sous forme de liste. Le résultat n’est plus une table : c’est une liste de valeurs, dans l’ordre des lignes, doublons et valeurs null compris.

Ce passage de la table à la liste ouvre l’accès à toutes les fonctions `List` : additionner un montant, dédoublonner des noms, tester l’appartenance d’une valeur. Elle sert souvent à construire une liste de référence, par exemple les clients actifs, que l’on réutilise ensuite pour filtrer une autre table.

Syntaxe

## Une table, un nom de colonne, une liste en sortie

```
Table.Column(table as table, column as text) as list
```

| Paramètre | Rôle |
| --- | --- |
| `table` | La table de départ. |
| `column` | Le nom de la colonne à extraire, sous forme de texte. |

La fonction n’a aucun paramètre facultatif : contrairement à `Table.SelectColumns`, elle ne propose pas d’option `MissingField` pour une colonne absente.

Exemples

## Quatre façons de s’en servir

### Extraire une colonne

```
Table.Column(
Table.FromRecords({
[CustomerID = 1, Name = "Bob"],
[CustomerID = 2, Name = "Jim"],
[CustomerID = 3, Name = "Paul"],
[CustomerID = 4, Name = "Ringo"]
}),
"Name"
)
```

Le résultat est la liste `{"Bob", "Jim", "Paul", "Ringo"}`, reprise de l’exemple de la documentation officielle.

### Additionner un montant

```
List.Sum(Table.Column(Factures, "Montant"))
```

`List.Sum` additionne les valeurs non null de la liste, et renvoie null si la liste n’en contient aucune.

### Lister les clients sans doublon

```
List.Distinct(Table.Column(Factures, "Client"))
```

Une facture par mois pour Bob donne une seule fois Bob dans la liste.

### Filtrer une table avec la colonne d’une autre

```
let
ClientsActifs = Table.Column(Clients, "Client"),
Filtre = Table.SelectRows(Factures,
each List.Contains(ClientsActifs, [Client]))
in
Filtre
```

Seules les factures dont le client figure dans la table Clients sont conservées.

En pratique

## La colonne renommée en amont

Une requête calcule le total facturé avec `Table.Column(Factures, "Montant")`. Un jour, l’outil source renomme la colonne en « Montant HT ». La fonction ne trouve plus la colonne demandée et l’actualisation s’arrête sur une erreur.

Quand la source change souvent, testez la présence de la colonne avant de l’extraire, avec `Table.HasColumns` :

```
if Table.HasColumns(Factures, "Montant")
then List.Sum(Table.Column(Factures, "Montant"))
else null
```

Ne généralisez pas ce garde-fou : sur une colonne indispensable au calcul, mieux vaut une erreur visible qu’un total à null qui passe inaperçu.

Second piège, plus discret : `List.Distinct` compare les textes en respectant la casse. Si Bob est saisi « Bob » et « bob », il apparaît deux fois. Passez la colonne par `Text.Lower` ou utilisez `List.Distinct(liste, Comparer.OrdinalIgnoreCase)`.

Questions fréquentes

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

### Quelle différence avec Table.SelectColumns ?

`Table.SelectColumns` renvoie une table réduite aux colonnes choisies. `Table.Column` renvoie une liste de valeurs, utilisable directement avec les fonctions `List`.

### La liste renvoyée contient-elle les doublons et les null ?

Oui. Elle reprend toutes les valeurs de la colonne, dans l’ordre des lignes. On dédoublonne ensuite avec `List.Distinct` si besoin.

### Comment obtenir la liste des noms de colonnes plutôt que leurs valeurs ?

Avec `Table.ColumnNames`, qui renvoie les noms de toutes les colonnes de la table sous forme de liste.

### Comment vérifier qu’une colonne existe avant de l’extraire ?

`Table.HasColumns(Factures, "Montant")` renvoie `true` si la colonne existe et `false` sinon. On s’en sert dans un `if` avant d’appeler `Table.Column`.

À côté

## Pour aller plus loin

- [Les fonctions de tables en Power Query](https://data-slconsulting.com/tables-power-query/).
- [Les erreurs Power Query les plus courantes](https://data-slconsulting.com/erreurs-power-query/) et comment les éviter.
- [Créer une table à partir d’une liste](https://data-slconsulting.com/reference-power-query-dax/creer-une-table-a-partir-dune-liste-power-bi/), le chemin inverse.
- [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 14 octobre 2026 : [Table.Column](https://learn.microsoft.com/fr-fr/powerquery-m/table-column), [Table.HasColumns](https://learn.microsoft.com/fr-fr/powerquery-m/table-hascolumns), [List.Sum](https://learn.microsoft.com/fr-fr/powerquery-m/list-sum), [List.Distinct](https://learn.microsoft.com/fr-fr/powerquery-m/list-distinct), [Table.SelectColumns](https://learn.microsoft.com/fr-fr/powerquery-m/table-selectcolumns).

## Vos requêtes cassent dès qu’une colonne change de nom ?

Nous relisons vos requêtes pour isoler les dépendances fragiles et sécuriser vos actualisations.

[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/tablecolumn-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.
