Monsieur Excel
Pour tout savoir faire sur Excel !

04 novembre 2014

Liste déroulante trop longue

Parfois, quand on effectue une recherche dans une liste déroulante trop longue, cela peut prendre du temps de trouver tel ou tel résultat.

D’autant que la limitation d’Excel – dont je ne comprends pas le bien-fondé ! – à afficher seulement 8 options, alors qu’on pourrait en mettre bien plus, ne simplifie pas la tâche.

C’est pourquoi, dans certains de mes modèles basés sur de longues listes, j’ai apporté un enrichissement. J’ai ajouté en B1 l’identification du résultat à partir duquel je souhaite débuter ma recherche. Dans l’exemple ci-dessous, j’indique que je souhaite chercher à partir des noms commençant par « Mad ».


Dans la cellule B2, je calcule le numéro de la première ligne où l’on trouve ce résultat :
=min(si((gauche(D2:D101;nbcar(B1))=B1);ligne(D2:D101);100))

Cette formule est bien entendu matricielle, donc validée avec [Ctrl]-[Maj]-[Entrée].

Il ne reste plus qu’à définir un nom identifiant les 20 noms à proposer dans la liste. J’ai utilisé le nom L_acteurs, qui est défini par :
=decaler(Déroule!$D$1;Déroule!$B$2-1;0):decaler(Déroule!$D$1;Déroule!$B$2+18;0)

Pour la zone de validation en B3, j’ai donc choisi une liste définie par =L_acteurs

Et nous voyons ci-dessus le résultat : une liste limitée à 20 éléments, et démarrant exactement à l’endroit voulu !