🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Fonction Excel CHOISIR (CHOOSE) — Sélectionner le Nième élément par position (et son superpouvoir caché)

|

Fonction Excel CHOISIR (CHOOSE) — Sélectionner le Nième élément par position (et son superpouvoir caché)

L'essentielCHOISIR(no_index; valeur1; valeur2; …) renvoie l'élément situé à la position no_index dans la liste que vous lui donnez : CHOISIR(2; "A"; "B"; "C") vaut "B". Elle sélectionne par position, non en comparant une valeur — c'est précisément ce qui en fait la partenaire idéale de toute formule produisant déjà un nombre de 1 à N (comme JOURSEM ou MOIS). Son pouvoir sous-exploité : les « valeurs » peuvent être des plages entières, pas seulement des cellules isolées.

=CHOISIR(2; "Gold"; "Silver"; "Bronze")              ' -> "Silver"
=CHOISIR(JOURSEM(A2); "Sun";"Mon";"Tue";"Wed";"Thu";"Fri";"Sat")
=CHOISIR(MOIS(A2); "Q1";"Q1";"Q1";"Q2";"Q2";"Q2";"Q3";"Q3";"Q3";"Q4";"Q4";"Q4")
=SOMME(CHOISIR(scénario; Ventes_T1; Ventes_T2; Ventes_T3))  ' sélectionne une plage entière

CHOISIR est l'une des plus anciennes fonctions d'Excel, et l'une des plus discrètement utiles. La plupart des gens la découvrent comme un moyen de transformer un nombre en libellé, puis ne réalisent jamais qu'elle peut aussi restituer des plages entières — c'est là qu'elle accomplit, avec une netteté inégalée, ce qu'aucune autre fonction ne fait.

Remarque : dans l'interface d'Excel en français, cette fonction s'appelle CHOISIR (CHOOSE en anglais), et les codes d'erreur s'affichent #VALEUR! et #N/A. Les formules ci-dessous emploient les noms français avec le point-virgule ; comme séparateur d'arguments — le comportement est identique à la version anglaise.

Ce que vous allez apprendre

  • Le modèle mental : sélectionner par position, non par recherche
  • Pourquoi cela fait de CHOISIR la partenaire naturelle de JOURSEM, MOIS et de tout nombre de 1 à N
  • Le piège #VALEUR! quand l'index sort des limites (et ce que fait un index décimal)
  • CHOISIR vs SI.MULTIPLE vs INDEX — choisir la bonne
  • Le superpouvoir : renvoyer des plages pour basculer entre scénarios ou réordonner des colonnes

Le modèle mental : sélectionner par position, non par correspondance

Imaginez une étagère numérotée. CHOISIR prend un numéro de position et vous tend ce qui se trouve dans cet emplacement :

=CHOISIR(3; "Gold"; "Silver"; "Bronze"; "Steel")
'        ▲ position 3  ->  "Bronze"

L'index commence à 1 : 1 donne la première valeur, 2 la deuxième, et ainsi de suite. C'est toute la différence entre CHOISIR et sa cousine SI.MULTIPLE. SI.MULTIPLE demande « quel cas égale ma valeur ? » CHOISIR demande « qu'y a-t-il dans l'emplacement numéro N ? » — elle n'inspecte jamais le contenu, elle compte simplement jusqu'à la position. CHOISIR brille donc précisément quand vous disposez déjà d'un nombre qui signifie « le Nième ».

L'usage classique : transformer un nombre calculé en libellé

Parce que tant de fonctions Excel renvoient un entier de 1 à N, CHOISIR est la façon soignée de traduire cet entier en quelque chose d'humain. JOURSEM renvoie 1 à 7, MOIS renvoie 1 à 12 — injectez l'un ou l'autre directement dans CHOISIR :

=CHOISIR(JOURSEM(A2); "Sun";"Mon";"Tue";"Wed";"Thu";"Fri";"Sat")   ' nom du jour
=CHOISIR(MOIS(A2);  "Jan";"Feb";"Mar";"Apr";"May";"Jun";
                    "Jul";"Aug";"Sep";"Oct";"Nov";"Dec")           ' nom du mois
=CHOISIR(ARRONDI.SUP(MOIS(A2)/3;0); "Q1";"Q2";"Q3";"Q4")              ' trimestre

L'association vit en ligne, dans l'ordre, sans table de recherche à entretenir. Quand la source est un entier séquentiel propre, cela l'emporte à la fois sur un SI imbriqué et sur une table auxiliaire.

Le piège : un index hors de la liste

CHOISIR a une règle dure et une règle souple.

Règle dure — hors limites égale erreur. Si no_index est inférieur à 1 ou supérieur au nombre de valeurs que vous avez fournies, CHOISIR renvoie #VALEUR! :

=CHOISIR(4; "A"; "B"; "C")     ' -> #VALEUR!  (seules 3 valeurs existent)
=CHOISIR(0; "A"; "B"; "C")     ' -> #VALEUR!  (l'index commence à 1, donc 0 est invalide)

Cela mord quand l'index provient de données susceptibles de déborder — une cellule vide se lit comme 0, un code inattendu se lit comme N+1. Protégez-le avec SIERREUR ou validez l'index au préalable.

Règle souple — les décimales sont tronquées. Un index fractionnaire est arrondi vers le bas à l'entier le plus proche avant usage, si bien que CHOISIR(2,9; …) se comporte comme CHOISIR(2; …). Bon à savoir, parfois surprenant.

Le superpouvoir : CHOISIR peut renvoyer des plages entières

Voici la partie que la plupart des tutoriels sautent. Les arguments valeur ne sont pas obligés d'être des valeurs isolées — ce peuvent être des plages. Cela transforme CHOISIR en aiguilleur pour des colonnes ou des tables entières, ce qui débloque deux schémas réellement puissants.

Basculement de scénarios. Pointez une même formule vers des jeux de données différents selon une cellule de sélection :

=SOMME(CHOISIR(scénario; Ventes_T1; Ventes_T2; Ventes_T3))
=MOYENNE(CHOISIR($B$1; Region_Nord; Region_Sud; Region_Ouest))

Faites passer scénario de 1 à 2 et la SOMME se réoriente vers une plage complètement différente — sans réécriture, sans SI enveloppant l'ensemble.

L'astuce de la recherche vers la gauche. Le vieux remède au fait que « RECHERCHEV ne sait pas regarder vers la gauche » consiste à construire une table virtuelle réordonnée avec CHOISIR et une constante matricielle :

=RECHERCHEV(F2; CHOISIR({1\2}; C2:C100; A2:A100); 2; FAUX)
' présente C (la clé) comme colonne 1 et A (la réponse) comme colonne 2

CHOISIR({1\2}; …) renvoie une matrice à deux colonnes dont les colonnes sont permutées, si bien que RECHERCHEV peut chercher dans une colonne physiquement située à droite de la réponse. C'est une astuce classique — et un bon moment pour un jugement (ci-dessous).

CHOISIR vs SI.MULTIPLE vs INDEX

Elles se recoupent, mais chacune a son domaine :

  • L'index est un entier propre de 1 à N que vous avez déjà ? CHOISIR — surtout avec JOURSEM/MOIS, ou pour basculer des plages entières.
  • Sélection par une valeur arbitraire (un code, un libellé, non séquentiel) ? SI.MULTIPLE — elle compare des valeurs, CHOISIR ne fait que compter des positions.
  • Extraire le Nième élément d'une plage/liste existante ? INDEX & EQUIV ou INDEX(plage; n) — préférable quand les candidats vivent déjà dans des cellules plutôt que d'être saisis dans la formule.

Le jugement

CHOISIR donne le meilleur d'elle-même quand l'index est naturellement un petit entier séquentiel et que les sorties sont courtes et stables — noms de jours, noms de mois, libellés de trimestres, une poignée de plages de scénarios. Là, c'est la chose la plus directe que vous puissiez écrire. Mais soyez discipliné sur ses limites. Une longue liste de valeurs saisies à la main, c'est de la donnée qui se fait passer pour une formule ; mettez-la dans une table et utilisez une recherche à la place, pour que modifier un libellé ne signifie pas modifier une formule. Et l'astuce de recherche vers la gauche CHOISIR({1\2}; …), aussi élégante soit-elle, n'existe que pour contourner une limite de RECHERCHEV que RECHERCHEX a entièrement supprimée — sous Microsoft 365, tournez-vous vers RECHERCHEX et laissez tomber la gymnastique de réordonnancement. La valeur durable et irremplaçable de CHOISIR, c'est la sélection par position, surtout sur des plages entières. Utilisez-la pour cela et elle est imbattable ; utilisez-la en remplacement d'une table de recherche et vous ne faites que rendre une formule plus difficile à maintenir.

Comment ExcelMaster aide

La partie difficile de CHOISIR n'est pas la syntaxe — c'est de savoir quand c'est le bon outil face à une recherche, et de protéger l'index pour qu'il ne sorte jamais des limites. ExcelMaster tranche pour vous : il emploie CHOISIR pour associer des entiers calculés comme JOURSEM et MOIS à des libellés, encadre l'index en toute sécurité lorsqu'il provient de données vivantes, applique le schéma de basculement de plages pour les modèles de scénarios, et vous oriente vers une vraie recherche (ou RECHERCHEX) quand vos cas sont en réalité une table. Décrivez ce que vous voulez — « affiche le nom du jour pour chaque date » ou « bascule ce rapport entre les totaux du T1, du T2 et du T3 » — et il écrit la version qui ne renverra pas #VALEUR! sur la ligne que vous n'attendiez pas.

Questions fréquentes

Comment fonctionne la fonction CHOISIR dans Excel ?

=CHOISIR(no_index; valeur1; valeur2; …) renvoie la valeur située à la position no_index. L'index commence à 1, donc CHOISIR(1; …) renvoie la première valeur. Elle sélectionne purement par position et n'inspecte jamais les valeurs elles-mêmes.

Quelle est la différence entre CHOISIR et SI.MULTIPLE ?

CHOISIR sélectionne par position — vous lui donnez un nombre N et elle renvoie la Nième valeur. SI.MULTIPLE sélectionne en comparant une valeur — vous lui donnez une expression et elle trouve le cas qui lui est égal. Utilisez CHOISIR quand vous avez déjà un index de 1 à N ; utilisez SI.MULTIPLE quand vous comparez un code ou un libellé.

Pourquoi CHOISIR renvoie-t-elle #VALEUR! ?

Parce que no_index est hors limites — inférieur à 1, ou supérieur au nombre de valeurs que vous avez fournies. Une cellule vide (qui se lit comme 0) en est une cause fréquente. Validez l'index ou enveloppez la formule dans SIERREUR.

CHOISIR peut-elle renvoyer une plage entière plutôt qu'une valeur unique ?

Oui — les arguments de valeur peuvent être des plages. =SOMME(CHOISIR(sel; PlageA; PlageB; PlageC)) sélectionne une plage entière par position, et c'est ainsi que CHOISIR alimente le basculement de scénarios et l'astuce classique de recherche vers la gauche CHOISIR({1\2}; …) pour RECHERCHEV.

CHOISIR est-elle préférable à une table de recherche ?

Pour des listes courtes et stables pilotées par un entier séquentiel (noms de jours/mois/trimestres), CHOISIR est plus nette. Pour des listes longues ou souvent modifiées, une vraie table de recherche avec INDEX & EQUIV ou RECHERCHEX est plus maintenable, parce que vous modifiez des données au lieu de la formule.

Testé dans

Testé dans : Excel 365 (Windows 11) — dernière vérification le 08/07/2026.

Guides associés : Excel SI.MULTIPLE · INDEX & EQUIV · Excel RECHERCHEV · Excel SIERREUR