Listes déroulantes en cascade - la source est un tableau (3/3)

File:Jonathan's Run Falls.jpgEt dernier volet de notre trilogie sur les listes en cascades.

On va voir ici une technique qui permet de considérer une table récapitulative de toutes les listes comme étant la source des données.

Cliquez ici pour accéder au fichier de la formation.

ATTENTION, cette technique ne fonctionne que si la table est triée sur la première liste (ici Domaine de formation), et si possible, on préférera les deux autres techniques. Je pense cependant que cette approche peut s'avérer utile dans certains cas.

Supposons donc que pour une raison inconnue ;-), la liste se présente sous cette forme :

On va gérer à part la liste des domaines de formation, comme fait dans le premier épisode :

Définition du nom :

Ajout de la liste via la validation des données :

On va ensuite gérer la liste dynamique basée sur le choix du domaine de formation :

excel-listes-deroulantes-en-cascades

On va ensuite utiliser cette très jolie formule que l'on mettra dans la validation des données de la plage B6

=DECALER(Liste!$B$1;EQUIV($B$3;Liste!$A:$A;0)-1;0;NB.SI(Liste!$A:$A;B3);1)

Qui se lit de la manière suivante :

- DECALER : renvoit la plage

- Liste!$B$1 : démarrant en B1 dans la feuille Liste

- EQUIV($B$3;Liste!$A:$A;0)-1 : Calculer ensuite la ligne de la première occurence de la cellule B3, moins une cellule pour la ligne de titre. En combinant avec DECALER, on va donc renvoyer la première cellule de la plage.

- NB.SI(Liste!$A:$A;B3) : calculer le nombre de fois où B3 est présent dans la liste, de fait, on va retourner la hauteur de la liste

- On combine le tout pour renvoyer la plage contenant la liste et on ajoute à la validation des données :

Et c'est fini !

A bientôt

Gaetan

-