Listes déroulantes en cascade - gérer des noms longs avec espaces (2/3)

800px-BurneyFallsDeuxième épisode de la série sur les fantastiques listes déroulantes en cascades !

Dans l'épisode précédent, on a vu comment créer des listes en cascades. On va reprendre ici le même principe, mais pour gérer des listes contenant des espaces.

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

Par exemple, supposons que gériez un centre de formation et que vous vouliez choisir un domaine de formation, qui va ensuite nous donner une liste de formation possible.

Les domaines de formation étant un peu complexes, vous allez avoir des noms comme :

- Formation de base sur Excel

- Formation avancée sur Excel

Et ensuite, on va retrouver un certain nombre de formations pour chaque domaine.Le but étant d'arriver à ceci :

Le problème est que la fonction Indirect ne pourra pas lire ces noms de domaine, car ils contiennent des espaces.

Une solution possible consiste donc à ajouter dans la liste des domaines, le nom du domaine sous la forme d'un code, ce qui permettra de s'y retrouver.

1/ On aura ainsi la table suivante :

2/ Il faut ensuite à ajouter les noms F_Base_Excel et F_Avancee_Excel au fichier pour les types de formation, ici pour F_Base_Excel :
Sélectionnez E2:A4, dans la zone de noms, tapez F_Base_Excel et validez par entrée.
De même pour la plage G2:G4.

Et ici pour F_Avancee_Excel

3/ On va ensuite ajouter une formule un peu complexe qui va permettre de retourner le code formation, qu'on utilise ensuite dans une formule indirect pour la suite.

Et la formule est la suivante pour la cellule D3 (avec Liste étant le nom de la feuille contenant les listes de départ):

=INDIRECT(INDEX(Liste!$B$2:$B$3;EQUIV(C3;Liste!$A$2:$A$3;0);1))

4/ Vous pouvez donc maintenant utiliser un nom complet avec des espaces pour ensuite changer la liste des formations appartenant à ce domaine.

A bientôt pour le 3e épisode!

Gaëtan