Re,
Pour obtenir tous les niveaux et descripteurs d'une sous-activité, je propose une fonction personnalisée basée sur les cellules fusionnées (une fois n'est pas coutume) de la feuille "BASE" :
Function CASCADE(scherchee$, Tableau As Range, colonne&)
smatch = Application.Match(scherchee, Tableau, 0)
With Tableau(smatch, 1).MergeArea
temp = .Offset(, colonne).Resize(.Rows.Count, 1).Value
End With
CASCADE = temp
End Function
Je peux en expliquer par la suite l'utilisation. Le principe, c'est qu'elle est matricielle.
On cherche la valeur scherchee (l'activité secondaire obtenue avec la liste en l'occurrence), dans une colonne (la colonne B de Base) et on indique un nombre de colonnes pour le décalage souhaité comme avec un RECHERCHEV. On obtient alors un tableau (matrice) avec les valeurs relatives à la zone fusionnée du résultat de la recherche.
Ensuite, on fait comme si on avait un tableau excel classique et on restitue les données à l'aide de la fonction INDEX. Les autres fonctions, LIGNE et SIERREUR, servent juste à rendre la saisie de la formule dynamique. A chaque changement, on obtiendra toutes les valeurs.
Cdlt,