CHOISIRCOLS (CHOOSECOLS en anglais) est une fonction tableau dynamique qui te permet d'extraire des colonnes spécifiques d'un tableau par leur position. Fini le copier-coller manuel qui casse tes liaisons et te fait perdre du temps : avec CHOISIRCOLS, tu crées des vues personnalisées de tes données qui se mettent à jour automatiquement.
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 de la fonction CHOISIRCOLS
=CHOISIRCOLS(tableau; num_col1; [num_col2]; [num_col3]; ...)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!.
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.
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.
num_col1
: le numéro de la première colonne à extraireLes 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).
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.
Astuce : Combine CHOISIRCOLS avec SEQUENCE pour extraire plusieurs colonnes consécutives facilement : =CHOISIRCOLS(A1:Z100; SEQUENCE(1; 5; 3)) extrait les colonnes 3, 4, 5, 6 et 7 en une seule formule.
Pas envie d'écrire la formule CHOISIRCOLS à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
RH : créer une vue simplifiée des employés
Tu es responsable RH et tu dois préparer un document de révision salariale pour la direction. Ta base de données contient 8 colonnes avec toutes les informations des employés (email, téléphone, département, ancienneté), mais pour cette réunion, tu as besoin uniquement du prénom, du nom et du salaire actuel. Plutôt que de créer un nouveau fichier manuellement, tu utilises CHOISIRCOLS.
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 1 | ID | Prénom | Nom | Téléphone | Département | Salaire | Ancienneté | |
| 2 | E001 | Marie | Dupont | marie@ex.com | 06.12.34.56 | IT | 3 500 € | 3 ans |
| 3 | E002 | Pierre | Martin | pierre@ex.com | 06.23.45.67 | RH | 3 200 € | 5 ans |
| 4 | E003 | Sophie | Leroy | sophie@ex.com | 06.34.56.78 | Finance | 4 100 € | 2 ans |
=CHOISIRCOLS(A1:H4; 2; 3; 7)La fonction extrait les colonnes 2 (Prénom), 3 (Nom) et 7 (Salaire) et les restitue dans cet ordre dans un nouveau tableau dynamique. Cette vue se met à jour automatiquement si les salaires changent dans la base source : plus besoin de refaire le document à chaque modification.
Chef de produit : extraire des colonnes pour un rapport mensuel
Tu es chef de produit et tu gères un catalogue avec 20 colonnes d'informations. Pour ton rapport mensuel, tu ne veux afficher que le nom du produit, le prix de vente et le stock disponible, dans cet ordre.
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 1 | Réf | Produit | Catégorie | Fournisseur | Prix achat | Prix vente | Stock | Entrepôt |
| 2 | P001 | Laptop Pro | Informatique | TechCorp | 800 € | 1 299 € | 45 | Paris |
| 3 | P002 | Souris RGB | Accessoires | GamingCo | 15 € | 39 € | 230 | Lyon |
| 4 | P003 | Écran 27" | Informatique | ScreenPlus | 250 € | 449 € | 12 | Paris |
=CHOISIRCOLS(A1:H4; 2; 6; 7)La fonction sélectionne uniquement les colonnes 2 (Produit), 6 (Prix vente) et 7 (Stock) dans ta source, et les restitue dans cet ordre. Le tableau de bord reste épuré, sans toucher aux 20 colonnes du catalogue d'origine.
Astuce de pro : Utilise des tableaux structurés : =CHOISIRCOLS(TableProduits; 2; 6; 7). Si ton tableau s'agrandit ou se déplace, la formule reste valide et se met à jour automatiquement.
Contrôleur de gestion : tableau de bord dynamique avec les dernières périodes
Tu es contrôleur de gestion et tu prépares un tableau de bord trimestriel. Ton fichier source contient 15 KPIs différents, mais pour la réunion du comex, tu veux afficher uniquement 4 indicateurs clés : le département et les 3 dernières colonnes (les données les plus récentes), quel que soit leur numéro.
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 1 | Département | CA Q1 | CA Q2 | CA Q3 | Marge Q1 | Marge Q2 | Marge Q3 | EBITDA Q3 |
| 2 | Ventes France | 450K | 520K | 580K | 135K | 156K | 174K | 92K |
| 3 | Ventes Export | 280K | 310K | 340K | 84K | 93K | 102K | 58K |
| 4 | Services | 150K | 165K | 180K | 60K | 66K | 72K | 42K |
=CHOISIRCOLS(A1:H4; 1; -3; -2; -1)Ici, la fonction extrait la première colonne (Département) puis les trois dernières grâce aux numéros négatifs. Quand tu ajouteras les données du Q4, ces numéros négatifs pointeront automatiquement vers les nouvelles dernières colonnes : ton tableau de bord reste dynamique sans aucune modification.
Responsable marketing : générer une liste de diffusion depuis une base clients
Tu es responsable marketing et tu dois créer une liste de diffusion pour ta prochaine campagne emailing. Ta base de données clients contient 8 colonnes, mais ton outil d'emailing attend un fichier dans l'ordre : email, nom du contact, nom de l'entreprise. CHOISIRCOLS te permet de générer ce fichier directement dans le bon ordre.
| A | B | C | D | E | F | G | H | |
|---|---|---|---|---|---|---|---|---|
| 1 | ID | Entreprise | Téléphone | Secteur | CA annuel | Contact | Statut | |
| 2 | C001 | TechStart SAS | contact@tech.fr | 01.23.45.67 | IT | 2M € | Julie Martin | Actif |
| 3 | C002 | Retail Plus | info@retail.fr | 01.34.56.78 | Commerce | 5M € | Marc Dupuis | Actif |
| 4 | C003 | ConsultPro | hello@consult.fr | 01.45.67.89 | Services | 1.5M € | Sarah Leroy | Prospect |
=CHOISIRCOLS(A1:H4; 3; 7; 2)La fonction extrait les colonnes Email (3), Contact (7) et Entreprise (2) dans cet ordre précis, exactement la mise en page qu'attend ton outil d'emailing. Tu obtiens un fichier prêt à l'import sans aucune manipulation manuelle.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes 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 une plage 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.
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ère | CHOISIRCOLS | CHOISIRLIGNES | INDEX | FILTRE |
|---|---|---|---|---|
| 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+ |
Astuces avancées avec CHOISIRCOLS
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.
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!.
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.
Questions fréquentes sur la fonction CHOISIRCOLS
Puis-je extraire les colonnes dans un ordre différent de l'original ?
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.
Comment extraire les dernières colonnes d'un tableau sans compter manuellement ?
Utilise des numéros négatifs : -1 représente la dernière colonne, -2 l'avant-dernière, etc. =CHOISIRCOLS(A1:D10; -1) retourne toujours la dernière colonne.
Si ton tableau s'agrandit avec de nouvelles colonnes, ta formule restera toujours valide sans aucune modification. C'est la technique clé pour les tableaux de bord qui accueillent régulièrement de nouvelles données.
Quelle est la différence entre CHOISIRCOLS et FILTRE ?
CHOISIRCOLS sélectionne des colonnes par leur position, tandis que FILTRE sélectionne des lignes selon une condition. Elles sont complémentaires : utilise CHOISIRCOLS pour choisir quelles colonnes afficher, et FILTRE pour choisir quelles lignes afficher.
Tu peux même les combiner : =CHOISIRCOLS(FILTRE(tableau; condition); col1; col2) filtre d'abord les lignes puis extrait uniquement les colonnes utiles.
CHOISIRCOLS fonctionne-t-elle avec des tableaux structurés Excel ?
Oui, et c'est même recommandé. Tu peux écrire =CHOISIRCOLS(TableVentes; 1; 3) au lieu de =CHOISIRCOLS(A1:Z100; 1; 3). Si ton tableau s'agrandit ou se déplace, la formule reste valide et se met à jour automatiquement.
Les tableaux structurés rendent aussi la formule plus lisible : le nom du tableau documente lui-même les données source.
Peut-on extraire la même colonne plusieurs fois ?
Oui, c'est possible et parfois utile. =CHOISIRCOLS(A1:D10; 1; 1; 2) affichera la colonne 1 deux fois, puis la colonne 2.
C'est pratique pour créer des comparaisons côte à côte ou pour des mises en page spécifiques dans des rapports automatisés, par exemple afficher l'étiquette d'identification à gauche et à droite d'un tableau de valeurs.
Pour aller plus loin
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois

