Aller au contenu principal

Qu'est-ce que la fonction CHOISIRLIGNES ?

Définition
La fonction CHOISIRLIGNES retourne les lignes spécifiées depuis un tableau source. Elle accepte des numéros positifs (depuis le début) ou négatifs (depuis la fin) et produit un tableau dynamique.

CHOISIRLIGNES (CHOOSEROWS en anglais) t'évite de filtrer ou de trier manuellement quand tu sais déjà, en amont, quelles lignes précises tu veux ressortir d'un tableau. Elle fait partie de la famille des fonctions de tableaux dynamiques, disponible dans Microsoft 365 et Excel 2021.

Concrètement, c'est elle qui extrait le top 5 des vendeurs après un tri, qui récupère les 3 premières ET les 3 dernières commandes pour une vue de début et fin de période, qui isole des jalons précis d'un planning de 120 tâches, ou qui construit un récapitulatif trimestriel en ne conservant que les lignes des mois concernés. Fini les copier-coller qui se désynchronisent.

Syntaxe

=CHOISIRLIGNES(tableau; num_ligne1; [num_ligne2]; ...)

Clique sur un argument pour aller à son explication.

Pour extraire plusieurs lignes non consécutives en un seul appel, utilise une constante de tableau avec des accolades : =CHOISIRLIGNES(A1:C10; {1;3;7}). Sans accolades, chaque numéro est un argument séparé.

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

Comprendre chaque paramètre de la fonction CHOISIRLIGNES

Le premier argument, c'est ton tableau source ; tout ce qui suit, ce sont les numéros de lignes que tu veux en sortir. Seul le premier numéro est obligatoire, les suivants s'ajoutent à la suite séparés par des points-virgules. Bonne nouvelle : un numéro positif compte depuis le haut (1 = première ligne), un négatif depuis le bas (-1 = dernière), et tu peux même les mélanger.

1

tableau

: le tableau ou la plage source depuis laquelle extraire des lignes

Ça peut être une référence directe comme A1:C100, un tableau structuré comme TableVentes, ou le résultat d'une autre fonction de tableau comme FILTRE() ou TRIER().

CHOISIRLIGNES récupère toutes les colonnes pour chaque ligne extraite, préservant ainsi la structure complète des enregistrements.

2

num_ligne1

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

Utilise un nombre positif pour compter depuis le début (1 pour la première ligne, 2 pour la deuxième) ou un nombre négatif pour compter depuis la fin (-1 pour la dernière ligne, -2 pour l'avant-dernière).

Tu peux aussi passer une constante de tableau pour extraire plusieurs lignes en une seule fois : {1;3;5} extrait les lignes 1, 3 et 5 simultanément.

3

num_ligne2, ...

: numéros de lignes supplémentaires à extraire, séparés par des points-virgules(facultatif)

=CHOISIRLIGNES(A1:C10; 1; 3; 7) extrait les lignes 1, 3 et 7.

Cette syntaxe argument par argument est équivalente à la constante de tableau {1;3;7}, mais peut être plus lisible quand tu extrais peu de lignes.

Le savais-tu ?
Tu peux mélanger numéros positifs et négatifs dans le même appel : {1;2;3;-3;-2;-1} sort les trois premières et les trois dernières lignes d'un coup. Les négatifs collent toujours à la fin, même quand le tableau grossit, parfait pour comparer début et fin de période.
Lucas, la mascotte du Dojo, fait une démonstration pas à pas de la fonction dans Excel

Exemples pratiques pas à pas

Exemple 1

Comment extraire des lignes précises par leur numéro avec la fonction CHOISIRLIGNES

Le comité commercial de lundi ne porte que sur trois vendeurs, ceux dont tu as promis de détailler le mois. Tes quatorze commerciaux sont listés avec leur chiffre d'affaires, leur objectif et leur statut, et tu sais déjà où trouver les trois concernés : ce sont la 1re, la 5e et la 10e ligne du tableau. La fonction CHOISIRLIGNES pose ces trois lignes complètes juste à côté, sans copier-coller et sans toucher au tableau d'origine.

Les étapes
  1. 1
    Dans une cellule, écris =CHOISIRLIGNES(.
  2. 2
    En 1er argument : sélectionne le tableau où puiser les lignes, A2:D15. La plage démarre à la première ligne de données et laisse les en-têtes dehors. Si tu la faisais partir de la ligne 1, Vendeur compterait comme première ligne et les trois numéros suivants viseraient chacun le mauvais commercial.
  3. 3
    En 2ᵉ argument : saisis le numéro de la première ligne à ressortir, 1. Ce rang se compte à l'intérieur de la plage sélectionnée et non d'après les numéros de la feuille, si bien que la ligne 1 est celle de Marie Dubois.
  4. 4
    En 3ᵉ argument : saisis le rang de la deuxième ligne voulue, 5. Emma Roux occupe la sixième ligne de la feuille mais la cinquième de A2:D15, et c'est bien cette position dans la plage que la fonction attend.
  5. 5
    En 4ᵉ argument : saisis le rang de la troisième ligne voulue, 10. Karim Lemaire est le dixième vendeur de la plage, et tu peux enchaîner autant de numéros que nécessaire en les séparant par des points-virgules.
  6. 6
    Ferme la parenthèse et appuie sur Entrée. Les quatorze lignes du tableau restent intactes, les trois lignes demandées se déversent à part dans l'ordre où tu as écrit leurs numéros.
Au final, ta formule devrait ressembler à ça :=CHOISIRLIGNES(A2:D15; 1; 5; 10)
Explication
La fonction relit les quatorze lignes de la plage et ne ressort que celles dont tu as donné le numéro, avec leurs quatre colonnes intactes : Marie Dubois en 1re position, Emma Roux en 5e et Karim Lemaire en 10e. Les trois lignes se déversent d'un bloc à partir de la cellule où tu as saisi la formule (tu n'écris rien d'autre, il n'y a rien à recopier), et elles suivent le tableau source dès qu'une valeur y change.
Exemple 2

Comment extraire le top 3 d'un classement avec les fonctions CHOISIRLIGNES et TRIER

Le point hebdo commence dans dix minutes et on va te demander quelles références ont le plus tourné. Tes huit produits sont listés avec leurs unités vendues et leur rayon, mais dans l'ordre du catalogue, pas dans celui des ventes : le podium ne saute pas aux yeux. En imbriquant la fonction TRIER dans la fonction CHOISIRLIGNES, tu obtiens un top 3 qui se remet à jour tout seul, sans retrier ton tableau à chaque fois.

Les étapes
  1. 1
    Dans une cellule, écris =CHOISIRLIGNES(.
  2. 2
    En 1er argument : écris le classement à lire et referme-le, TRIER(A2:C9; 2; -1). La fonction TRIER reclasse les huit produits sur la colonne des unités vendues, la deuxième de la plage. Le -1 impose l'ordre décroissant, si bien que la fonction CHOISIRLIGNES reçoit un tableau déjà rangé du plus vendu au moins vendu au lieu de l'ordre du catalogue.
  3. 3
    En 2ᵉ argument : saisis entre accolades les rangs à conserver, {1;2;3}. Les accolades regroupent les trois numéros en un seul argument, là où ; 1; 2; 3 les écrirait un par un pour le même résultat. Comme le classement est déjà fait, ces trois rangs sont exactement le podium.
  4. 4
    Ferme la parenthèse et appuie sur Entrée. Celle de la fonction TRIER a déjà été refermée à l'étape précédente.
Voici la formule que tu obtiens à la fin :=CHOISIRLIGNES(TRIER(A2:C9; 2; -1); {1;2;3})
Explication
Ici, la fonction TRIER passe la première et reclasse les huit produits du plus vendu au moins vendu, puis la fonction CHOISIRLIGNES ne retient que les trois premières lignes de ce classement : Souris sans fil (517), Casque audio (480) et Tapis de souris (433). Comme le classement se refait à chaque saisie, le podium change tout seul dès qu'une vente passe devant une autre.
Le combo gagnant
CHOISIRLIGNES brille avec TRIER et SEQUENCE : TRIER classe le tableau, SEQUENCE génère les rangs 1 à N, CHOISIRLIGNES en extrait le haut du classement. Le tout donne un top N vivant qui se recalcule dès qu'une valeur change.
Lucas, la mascotte du Dojo, l'air gêné face à une erreur Excel

Les erreurs fréquentes avec la fonction CHOISIRLIGNES

Avec CHOISIRLIGNES, les blocages tournent presque tous autour de deux choses : un numéro de ligne qui dépasse la taille réelle du tableau (tu réclames la ligne 50 alors qu'il n'y en a que 30 → #VALEUR!), ou une syntaxe d'accolades mal formée quand tu listes plusieurs lignes. S'y ajoutent le #DÉBORDEMENT! quand la zone de déversement n'est pas vide, et le #NOM? si tu es sur une version d'Excel antérieure à 2021.

Erreur #VALEUR! – numéro de ligne hors limites

Si tu demandes la ligne 50 d'un tableau qui n'en contient que 30, Excel retourne #VALEUR!. C'est l'erreur la plus fréquente, surtout quand la taille du tableau source varie.

Solution : Protège ta formule avec NBLIGNES : =SI(50<=LIGNES(tableau); CHOISIRLIGNES(tableau; 50); "Pas assez de données"). Ou privilégie les numéros négatifs qui s'adaptent automatiquement à la taille réelle.

Oublier les accolades pour les constantes de tableau

=CHOISIRLIGNES(A1:C10; 1,3,5) avec des virgules ou sans accolades génère une erreur de syntaxe. Excel attend soit des arguments séparés, soit une constante de tableau bien formée.

Solution : Utilise toujours la syntaxe {1;3;5} avec accolades et points-virgules pour spécifier plusieurs lignes en une seule constante : =CHOISIRLIGNES(A1:C10; {1;3;5}).

Erreur #DÉBORDEMENT! – cellules cibles non vides

CHOISIRLIGNES retourne un tableau dynamique qui s'étend sur plusieurs lignes et colonnes. Si des données existent déjà dans la zone de déversement, Excel affiche #DÉBORDEMENT!.

Solution : Assure-toi que les cellules sous et à droite de ta formule sont vides. Déplace ta formule dans une zone dédiée, ou utilise PRENDRELIG ou PRENDRECOL pour limiter les dimensions du résultat.

Fonction non disponible – erreur #NOM?

CHOISIRLIGNES fait partie des fonctions de tableaux dynamiques introduites dans Microsoft 365. Sur Excel 2019 ou antérieur, la fonction n'existe pas.

Solution : Pour les versions antérieures, utilise une combinaison INDEX avec PETITE.VALEUR ou des formules matricielles classiques. La solution la plus simple reste de passer à Microsoft 365.

Lucas, la mascotte du Dojo, compare deux fonctions Excel

CHOISIRLIGNES vs CHOISIRCOLS vs INDEX vs FILTRE

Tu choisis selon ce que tu connais à l'avance. Tu connais les numéros de lignes (top N, jalons, dernières entrées) → CHOISIRLIGNES, avec ses numéros négatifs qui ciblent la fin sans connaître la taille. Tu veux des colonnes plutôt que des lignes → CHOISIRCOLS. Tu vises une seule cellule à une position précise → INDEX, le seul à tourner sur toutes les versions. Et si tu sélectionnes par condition (« tout ce qui dépasse 1 000 € ») plutôt que par position → c'est FILTRE qu'il te faut.

CritèreCHOISIRLIGNESCHOISIRCOLSINDEXFILTRE
Méthode de sélectionPar position de lignePar position de colonnePar ligne ET colonnePar critère conditionnel
Type de résultatTableau multi-lignesTableau multi-colonnesValeur uniqueTableau dynamique
Numéros négatifs✅ Oui (-1 = dernière)✅ Oui (-1 = dernière)❌ Non❌ Non
Version requiseMicrosoft 365 / Excel 2021+Microsoft 365 / Excel 2021+Toutes versionsMicrosoft 365 / Excel 2021+
Cas d'usage idéalTop N, dernières lignes, jalonsColonnes spécifiques, réorganisationValeur à une position préciseDonnées selon critères métier
Lucas, la mascotte du Dojo, avec une ampoule, partage des astuces avancées

Astuces avancées avec CHOISIRLIGNES

1Astuce

Mélange positifs et négatifs pour une vue début + fin

=CHOISIRLIGNES(données; {1;2;-2;-1}) extrait les 2 premières ET les 2 dernières lignes en une seule formule. Les numéros négatifs s'adaptent automatiquement à la taille réelle du tableau, sans que tu aies à connaître le nombre total de lignes.
Il suffit d'un {1;2;3;-3;-2;-1} pour afficher six lignes représentatives d'une série longue.

2Astuce

Contrôle le N d'un top N depuis une cellule

=CHOISIRLIGNES(TRIER(ventes; 2; -1); SEQUENCE($F$1))F1 contient le nombre de lignes à afficher. Combine avec TRIER pour un classement dynamique dont le seuil est contrôlable par l'utilisateur final.
Change le contenu de F1 et le tableau se rétracte ou s'agrandit instantanément.

3Astuce

Filtre d'abord, extrais ensuite

=CHOISIRLIGNES(FILTRE(commandes; statut="En cours"); {1;2;3}) filtre d'abord les commandes en cours, puis extrait uniquement les 3 premières parmi elles. Cette combinaison FILTRE + CHOISIRLIGNES répond à des besoins très précis : « affiche-moi les 3 premières commandes urgentes ».
Les deux fonctions s'enchaînent naturellement car elles travaillent toutes les deux sur des tableaux dynamiques.

FAQ

Questions fréquentes

Oui, tu peux sélectionner n'importe quelles lignes dans n'importe quel ordre. =CHOISIRLIGNES(données; {1;5;8}) retourne les lignes 1, 5 et 8 dans cet ordre. Utilise une constante de tableau avec des accolades et des points-virgules pour spécifier plusieurs lignes non consécutives en un seul argument.

Ressources

Pour aller plus loin

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

Tout voir