Liste déroulante dépendante à 3 niveaux Excel

Résolu
Bonjour,
Je voudrais faire une liste déroulante dépendante les unes au autres précedente mais a 3 niveaux . Je sais comment en faire 2 mais pas 3....

3 réponses

  1. Contributeur
    C'est exactement la même procédure.
    Si tu envoies ton fichier, on essaiera de te détailler la marche à suivre cellule par cellule.
    0
    1. Merci pour ta réponse . En fait la j'ai réglé mon problème en utilisant la fonction "Indirect" , par contre je n'arrives pas a mettre des espaces quand je nome la liste de mes choix alors qu'il me les faut absolument !
      0
      1. Contributeur
        Bonjour,

        Un nom de liste ne peut pas contenir d'espace.
        Dans les noms remplace-les par le caractère _
        et tu les transformes dans indirect() avec :
        =INDIRECT(SUBSTITUE(A1;" ";"_"))

        eric
        0
      2. En fait , il me font : " A named Range you specified cannot be found . "
        0
      3. Contributeur
        Bonjour,

        un exemple : http://www.cijoint.fr/cjlink.php?file=cj201108/cij7hokmmj.xls

        eric
        0
      4. Et c'est possible de le faire a trois niveaux ? par ce que c'est à partir du 2ème niveau que ma liste contient des espaces et j'applique la fonction comme sur ton exemple mais les tirets-bas Restent toujours présent....
        Merci
        0
      5. Contributeur
        Le principe est exactement le même qu'il y ait 2, 3 ou 12 niveaux...
        Si les éléments des listes pointant sur d'autres listes ont des espaces, les noms des plages doivent avoir des _ à la place.
        Les noms sont donc obtenus en remplacant les espaces par des _ à l'aide de substitue()

        Regarde de plus près l'exemple que je t'ai fourni :
        La plage F2:F8 est nommée ma_liste2 (avec un _)

        Si en A1 tu sélectionnes 'ma liste2' (avec espace), la validation par liste en C2 a pour formule
        =INDIRECT(SUBSTITUE(A1;" ";"_"))
        ce qui après évaluation devient :
        =INDIRECT( ma_liste2)

        eric
        0