Aller au contenu principal

Qu'est-ce que la fonction CHOISIRCOLS ?

Définition
La fonction CHOISIRCOLS retourne un tableau dynamique contenant uniquement les colonnes sélectionnées par leur numéro de position. Elle accepte des numéros positifs (depuis le début) et négatifs (depuis la fin).

CHOISIRCOLS (CHOOSECOLS en anglais) te sert quand tu dois présenter une partie seulement d'une base large sans exposer les colonnes sensibles ou inutiles, ou remettre les colonnes dans l'ordre qu'attend un outil externe. Tu obtiens cette vue sans toucher au tableau source ni casser une seule liaison.

Concrètement, c'est elle qui te permet de générer en quelques secondes une vue RH avec seulement le nom et le salaire depuis une base de 12 colonnes, d'extraire les 3 dernières périodes d'un tableau de bord en temps réel grâce aux numéros négatifs, ou de préparer un fichier d'import e-mailing dans l'ordre exact qu'attend ton outil marketing.

Syntaxe

=CHOISIRCOLS(tableau; num_col1; [num_col2]; [num_col3]; ...)

Clique sur un argument pour aller à son explication.

Disponible uniquement dans Microsoft 365 et Excel 2021+. Le résultat est un tableau dynamique : assure-toi que la zone de destination est vide, sinon Excel affiche #DÉBO!.

Lucas, la mascotte du Dojo, inspecte les arguments de la fonction à la loupe

Comprendre chaque paramètre de la fonction CHOISIRCOLS

Tu donnes d'abord le tableau à découper, puis la liste des colonnes que tu veux, par leur numéro. L'ordre dans lequel tu les listes est exactement l'ordre dans lequel elles s'affichent : 2; 3; 7 te sort le prénom, le nom puis le salaire, peu importe leur place d'origine.

Seule la première colonne est obligatoire après le tableau ; les suivantes sont facultatives, à empiler autant que tu veux séparées par des points-virgules. Tu peux même réclamer deux fois la même.

1

tableau

: le tableau source d'où tu veux extraire les colonnes

Ça peut être une plage de cellules comme A1:E100, une référence à un tableau structuré comme TableVentes, ou même le résultat d'une autre fonction comme FILTRE(A1:E100; C1:C100="Paris").

Le tableau doit contenir au moins deux colonnes pour que CHOISIRCOLS ait un intérêt. Si tu passes une seule cellule, Excel retournera une erreur #VALEUR!. Les tableaux structurés sont particulièrement recommandés car la formule s'adapte automatiquement quand le tableau s'agrandit.

2

num_col1

: le numéro de la première colonne à extraire

Les numéros commencent à 1 (première colonne du tableau) et tu peux utiliser des numéros positifs ou négatifs. Les numéros positifs comptent depuis le début : 1 = première colonne, 2 = deuxième, etc. Les numéros négatifs comptent depuis la fin : -1 = dernière colonne, -2 = avant-dernière, etc.

Attention : tu ne peux pas utiliser 0 comme numéro de colonne, Excel retournera une erreur #VALEUR!. Les numéros négatifs sont particulièrement utiles quand tu travailles avec des tableaux évolutifs : -1 pointera toujours vers la dernière colonne, même si tu en ajoutes de nouvelles.

Attention : Si tu spécifies un numéro de colonne qui n'existe pas dans ton tableau (par exemple, la colonne 10 alors que ton tableau n'en a que 8), Excel retourne #VALEUR!. Vérifie le nombre de colonnes avec =COLONNES(tableau).

3

num_col2, num_col3, ...

: les numéros des colonnes supplémentaires à extraire(facultatif)

Tu peux en spécifier autant que tu veux, séparés par des points-virgules. Les colonnes seront affichées dans l'ordre où tu les listes.

Par exemple, =CHOISIRCOLS(A1:E10; 5; 3; 1) affichera d'abord la colonne 5, puis la 3, puis la 1. C'est parfait pour réorganiser tes données selon tes besoins sans toucher au tableau source. Tu peux même répéter la même colonne plusieurs fois si tu veux créer des comparaisons côte à côte.

Le savais-tu ?
Les numéros de colonnes acceptent le négatif : -1 vise toujours la dernière colonne, -2 l'avant-dernière. Sur un tableau qui gagne une colonne chaque mois, ta vue des dernières périodes reste juste sans que tu retouches la formule.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment extraire seulement les colonnes utiles avec la fonction CHOISIRCOLS

La direction tranche les augmentations lundi matin et ta base employés compte huit colonnes, dont l'e-mail, le téléphone et le département dont personne n'a besoin en réunion. Tu veux un document qui montre le prénom, le nom et le salaire, rien d'autre. La fonction CHOISIRCOLS pioche ces trois colonnes et les affiche dans un tableau à part, sans que tu touches à ta base.

Les étapes
  1. 1
    Dans une cellule, écris =CHOISIRCOLS(.
  2. 2
    En 1er argument : sélectionne la base entière à découper, A1:H13. La sélection démarre en ligne 1 pour emmener la ligne d'en-tête avec les données, si bien que la vue obtenue affiche ses propres titres de colonnes. Les huit colonnes y entrent, même celles que tu ne veux pas montrer, car ce sont les numéros suivants qui font le ménage.
  3. 3
    En 2ᵉ argument : saisis le rang de la colonne Prénom, 2. Le comptage part de la première colonne de la sélection et non des lettres de la feuille. Les deux repères coïncident ici parce que la sélection commence en colonne A, mais ils se décalent dès qu'elle démarre ailleurs.
  4. 4
    En 3ᵉ argument : saisis le rang de la colonne Nom, 3. Elle se range juste derrière le prénom, parce que les colonnes sortent dans l'ordre où tu listes leurs numéros et non dans celui de la base.
  5. 5
    En 4ᵉ argument : saisis le rang de la colonne Salaire, 7. Elle se trouve à l'autre bout de la base, séparée du nom par Email, Téléphone et Département. Ces trois colonnes n'ont pas leur numéro dans ta liste, elles ne sortiront donc pas.
  6. 6
    Ferme la parenthèse et appuie sur Entrée. Les trois colonnes s'affichent d'un coup, sur les treize lignes de la sélection.
Au final, ta formule devrait ressembler à ça :=CHOISIRCOLS(A1:H13; 2; 3; 7)
Explication
La fonction ne retient que les rangs 2, 3 et 7 de la plage et les repose dans l'ordre où tu les as listés, en un seul tableau dynamique. Les en-têtes voyagent avec les données parce que la plage démarre en ligne 1. Et le jour où un salaire bouge dans la base, la vue se corrige toute seule.
Exemple 2

Comment réorganiser l'ordre des colonnes avec la fonction CHOISIRCOLS

Ta campagne e-mailing part demain et l'outil d'import refuse ton fichier tant que les colonnes ne sont pas dans l'ordre qu'il attend : l'adresse e-mail, puis le contact, puis l'entreprise. Ta base range évidemment ces informations dans un tout autre ordre. La fonction CHOISIRCOLS te sort les colonnes dans l'ordre où tu les demandes, ce qui te donne un fichier prêt à importer sans un seul copier-coller.

Les étapes
  1. 1
    Dans une cellule, écris =CHOISIRCOLS(.
  2. 2
    En 1er argument : sélectionne la base de contacts à réordonner, A1:F4. La ligne d'en-tête entre dans la sélection, donc le fichier obtenu garde des noms de colonnes lisibles au lieu de démarrer sur une adresse.
  3. 3
    En 2ᵉ argument : saisis le rang de la colonne Email, 3. C'est la première information que ton outil d'import attend, et ce numéro placé en tête de liste la fait sortir en première position.
  4. 4
    En 3ᵉ argument : saisis le rang de la colonne Contact, 6. Elle occupe la dernière des six colonnes de la base et remonte ici en deuxième, sans qu'une seule cellule bouge dans le fichier source.
  5. 5
    En 4ᵉ argument : saisis le rang de la colonne Entreprise, 2. Elle passe de la deuxième place dans la base à la troisième dans la vue, ce qui montre bien que la position du numéro dans ta liste commande tout.
  6. 6
    Ferme la parenthèse et appuie sur Entrée. Le fichier obtenu tient sur quatre lignes, l'en-tête et les trois contacts.
Voici la formule que tu obtiens à la fin :=CHOISIRCOLS(A1:F4; 3; 6; 2)
Explication
Ici, la fonction ne se contente pas de garder trois colonnes, elle les repose dans l'ordre exact de ta demande. C'est la place de chaque numéro dans la liste qui commande, jamais la position d'origine (l'Email sort en premier alors qu'il est la troisième colonne de la base). Ton fichier source, lui, reste intact.
Exemple 3

Comment garder les dernières colonnes d'un tableau avec la fonction CHOISIRCOLS

Ton suivi gagne une colonne de chiffre d'affaires à chaque trimestre et le comité de direction ne regarde jamais que les deux derniers. Tu en as assez de rouvrir ta formule pour décaler les numéros de colonnes à chaque fois. La fonction CHOISIRCOLS sait compter à partir de la fin, donc ta vue suit d'elle-même le tableau qui s'allonge.

Les étapes
  1. 1
    Dans une cellule, écris =CHOISIRCOLS(.
  2. 2
    En 1er argument : écris le nom du tableau structuré qui porte le suivi, SuiviCA. Une sélection figée comme A1:E4 resterait bloquée sur ces cinq colonnes. Le nom du tableau, lui, suit son extension à chaque trimestre ajouté.
  3. 3
    En 2ᵉ argument : saisis le rang de la colonne à garder en tête de la vue, 1. Le Département sert d'étiquette aux montants, et une ligne de chiffres sans son libellé ne se lit pas en réunion.
  4. 4
    En 3ᵉ argument : saisis le rang de l'avant-dernière colonne, -2. Un numéro négatif se compte depuis le bord droit du tableau, ce qui désigne aujourd'hui CA Q3.
  5. 5
    En 4ᵉ argument : saisis le rang de la dernière colonne, -1. Il pointe sur CA Q4 tant que le suivi s'arrête là, et sur la colonne du trimestre suivant dès qu'elle est saisie.
  6. 6
    Ferme la parenthèse et appuie sur Entrée. La vue tient en trois colonnes, et l'arrivée d'un nouveau trimestre déplace -2 et -1 sur les deux périodes les plus récentes sans que tu rouvres la formule.
Une fois les morceaux assemblés, ta formule donne ça :=CHOISIRCOLS(SuiviCA; 1; -2; -1)
Explication
Un numéro négatif se compte à partir du bord droit du tableau (-1 vise la dernière colonne, -2 l'avant-dernière). Comme la source est un tableau structuré qui s'étend tout seul, l'arrivée du trimestre suivant pousse ces deux numéros sur les nouvelles dernières colonnes, et ton tableau de bord affiche les bonnes périodes sans une retouche.
Exemple 4

Comment combiner la fonction CHOISIRCOLS avec FILTRE pour un rapport ciblé

Le responsable de l'entrepôt de Paris te réclame l'état de son stock, pas celui de Lyon, et surtout pas la référence ni la catégorie qui ne lui parlent pas. Ton catalogue mélange les deux entrepôts sur six colonnes. La fonction CHOISIRCOLS emboîtée autour de FILTRE te donne les lignes de Paris réduites aux seules colonnes utiles, en une formule.

Les étapes
  1. 1
    Dans une cellule, écris =CHOISIRCOLS(.
  2. 2
    En 1er argument : écris le filtre qui sélectionne les lignes et referme-le, FILTRE(A2:F7; D2:D7="Paris"). La sélection A2:F7 démarre en ligne 2 pour laisser la ligne d'en-tête dehors, sinon le titre Entrepôt serait examiné comme une ligne de données. La condition D2:D7="Paris" parcourt la colonne des entrepôts et ne laisse remonter que les trois produits stockés à Paris.
  3. 3
    En 2ᵉ argument : saisis le rang de la colonne Produit, 2. Ce rang se compte sur le résultat de FILTRE, qui a gardé les six colonnes de départ et n'a réduit que le nombre de lignes.
  4. 4
    En 3ᵉ argument : saisis le rang de la colonne Prix vente, 5. C'est le premier des deux chiffres attendus, et les colonnes Réf, Catégorie et Entrepôt restent dehors faute d'avoir leur numéro dans ta liste.
  5. 5
    En 4ᵉ argument : saisis le rang de la colonne Stock, 6. Elle ferme le tableau filtré, si bien que -1 donnerait ici exactement le même résultat.
  6. 6
    Ferme la parenthèse et appuie sur Entrée. Celle de la fonction FILTRE a déjà été refermée dans l'étape du 1er argument.
En mettant tout bout à bout, tu écris :=CHOISIRCOLS(FILTRE(A2:F7; D2:D7="Paris"); 2; 5; 6)
Explication
FILTRE travaille sur les lignes et rend un tableau de six colonnes où ne restent que les produits de Paris. La fonction CHOISIRCOLS reprend ce résultat et n'en garde que trois colonnes. Les numéros se comptent donc sur le tableau filtré, pas sur le catalogue de départ.
Le combo gagnant
FILTRE choisit les lignes selon une condition, CHOISIRCOLS choisit et réordonne les colonnes. Emboîte CHOISIRCOLS autour de FILTRE et tu obtiens un rapport filtré sur les bonnes lignes et réduit aux seules colonnes utiles, en une formule.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction CHOISIRCOLS

Tout tourne autour du numéro de colonne que tu réclames. Demande une colonne qui n'existe pas (la 10e d'un tableau qui en compte 8), ou tape 0 qui n'est tout simplement pas un numéro valide, et tu récoltes #VALEUR!, comme quand tu nourris CHOISIRCOLS avec uneplage d'une seule colonne, où elle n'a rien à choisir.

L'autre famille d'ennuis vient du résultat lui-même : c'est un tableau dynamique qui a besoin de place pour s'étaler, donc une cellule voisine occupée déclenche #DÉBO!.

Numéro de colonne hors limites : erreur #VALEUR!

Si tu spécifies un numéro de colonne qui n'existe pas dans ton tableau (par exemple, la colonne 10 pour un tableau qui n'en contient que 8), Excel retourne #VALEUR!. C'est l'erreur la plus fréquente avec CHOISIRCOLS.

Solution : Vérifie le nombre total de colonnes dans ton tableau source avec =COLONNES(tableau). Pour éviter cette erreur avec des tableaux dynamiques, utilise des numéros négatifs pour référencer les dernières colonnes : -1 pour la dernière, -2 pour l'avant-dernière.

Utilisation de 0 comme numéro de colonne

Excel n'accepte pas 0 comme numéro de colonne. Les colonnes commencent à 1 (ou -1 pour la dernière). Si tu écris =CHOISIRCOLS(A1:E10; 0), tu obtiendras #VALEUR!.

Solution : Utilise 1 pour la première colonne ou -1 pour la dernière. Il n'y a jamais de cas où 0 serait valide dans CHOISIRCOLS.

Tableau source avec une seule colonne

CHOISIRCOLS nécessite un tableau avec au moins deux colonnes. Si tu passes une plage à une seule colonne comme A1:A10, Excel retournera #VALEUR!.

Solution : Assure-toi que ton premier argument est bien une plage contenant plusieurs colonnes, comme A1:D10 et non A1:A10. Si ton tableau n'a qu'une colonne, CHOISIRCOLS n'apporte rien : utilise directement la plage.

Débordement de tableau : erreur #DÉBO!

Comme CHOISIRCOLS est une fonction tableau dynamique, elle renvoie un résultat qui peut s'étendre sur plusieurs cellules. Si les cellules adjacentes ne sont pas vides, Excel affiche #DÉBO!.

Solution : Vide les cellules autour de ta formule ou déplace-la vers une zone vide. Excel a besoin d'espace pour afficher tout le tableau résultant. Tu peux aussi utiliser =SIERREUR(CHOISIRCOLS(...); "") pour protéger ta formule si le tableau source peut être vide.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

CHOISIRCOLS vs CHOISIRLIGNES vs INDEX vs FILTRE

Prends CHOISIRCOLS quand tu veux garder certaines colonnes et les remettre dans l'ordre qui t'arrange ; sa jumelle CHOISIRLIGNES fait pareil mais sur les lignes. Si c'est plutôt « ne montre-moi que les lignes qui respectent telle condition », c'est FILTRE qu'il te faut, et tu peux d'ailleurs enchaîner les deux.

INDEX sait aussi piocher, mais une seule valeur à la fois et sans numéros négatifs : pour attraper la dernière colonne d'un tableau qui grandit, CHOISIRCOLS et son -1 restent imbattables. Côté version, garde en tête que CHOISIRCOLS exige Microsoft 365 ou Excel 2021+, là où INDEX tourne partout.

CritèreCHOISIRCOLSCHOISIRLIGNESINDEXFILTRE
Sélection de colonnes✅ Oui (multiple)❌ Non⚠️ Limitée (1 à la fois)❌ Non
Sélection de lignes❌ Non✅ Oui (multiple)⚠️ Limitée (1 à la fois)✅ Oui (par condition)
Résultat✅ Tableau dynamique✅ Tableau dynamique❌ Valeur unique✅ Tableau dynamique
Réorganisation✅ Oui✅ Oui❌ Non❌ Non
Numéros négatifs✅ Oui (-1 = dernière)✅ Oui (-1 = dernière)❌ Non❌ Non
Disponibilité⚠️ Microsoft 365 / 2021+⚠️ Microsoft 365 / 2021+✅ Toutes versions⚠️ Microsoft 365 / 2019+
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec CHOISIRCOLS

1Astuce

Extraire plusieurs colonnes consécutives avec SEQUENCE

Au lieu d'écrire =CHOISIRCOLS(A1:Z10; 5; 6; 7; 8; 9), utilise =CHOISIRCOLS(A1:Z10; SEQUENCE(1; 5; 5)) pour extraire les colonnes 5 à 9 automatiquement. SEQUENCE génère ici un tableau {5; 6; 7; 8; 9} que CHOISIRCOLS interprète directement.
Résultat identique, formule plus courte et moins de risque d'erreur de saisie.

2Astuce

Combiner FILTRE et CHOISIRCOLS pour des rapports dynamiques ciblés

La combinaison FILTRE puis CHOISIRCOLS est redoutablement efficace : =CHOISIRCOLS(FILTRE(Ventes; Région="Nord"); 1; 3; 5) filtre d'abord les lignes (région Nord), puis extrait uniquement les colonnes pertinentes. Tu obtiens un rapport à la fois filtré et épuré en une seule formule.
Si le filtre ne retourne aucune ligne, protège la formule avec SIERREUR pour éviter un #CALC!.

3Astuce

Utiliser les numéros négatifs pour un tableau de bord toujours à jour

Pour un tableau de bord qui affiche toujours les 3 dernières périodes, utilise =CHOISIRCOLS(A1:Z10; 1; -3; -2; -1). Quand tu ajoutes de nouvelles colonnes chaque mois, les numéros négatifs pointent automatiquement vers les bonnes périodes.
C'est la clé pour des rapports mensuels ou trimestriels qui se mettent à jour sans jamais modifier la formule.

FAQ

Questions fréquentes

Oui, c'est l'un des super-pouvoirs de CHOISIRCOLS. Tu peux réorganiser les colonnes comme tu veux. Par exemple, =CHOISIRCOLS(A1:D10; 3; 1; 2) affichera d'abord la colonne 3, puis 1, puis 2. C'est parfait pour créer des rapports personnalisés à partir d'un tableau existant sans modifier la source, ou pour préparer un fichier d'export dans l'ordre attendu par un outil externe.

Ressources

Pour aller plus loin

Continue sur ta lancée après la fonction CHOISIRCOLS : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.

Tout voir