Bonjour, tout le monde
Je vous expose mon problème:
Sous excel je voudrai créer deux listes déroulantes ou bien deux combobox (l'essentiel cé que ca fonctionne)
Le choix de remplissage de la deuxième liste déroulante est conditionné par la valeur entrée dans la première.
Par exemple si je choisis 1 dans la première, la 2éme me donne le choix a,b,c
et si je choisis 2 ds la première, la 2ème me donne z,x,y
.........
et je voudrais bien que mes données soient sur un autre fichier ou une autre feuille.
J'ai essayé avec les comboboxs mé j'arrive pas à trouver la bonne astuce, en plus à chaque fois que j'ouvre le document il faut éxécuter les macros, car la combobox affiche la dernière valeur entrée, et plus de liste.
Merci pour votre aide :)



Oui là ca marche impecablement bien.
Juste une petite question après que tu écris les fonctions, comment tu fais pour créer tes listes déroulantes :)
Merci pour ton aide.
comment tu fais pour créer tes listes déroulantes
les listes déroulantes, tu peux les saisir comme tu veux :
- le choix 1 est situé sur toutes les colonnes de la ligne 1
=DECALER(listes!$A$1;;;;NBVAL(listes!$1:$1))
mais tu peux la positionner ailleurs, il suffit de changer les caractères en gras et tu peux par exemple les mettre sur la première colonne et en modifiant les paramètres du choix 2 tu peux prendre les listes 2 sur les colonnes.
- le choix 2 est situé sur toutes les colonnes dépendant de la ligne 1 (caractères en gras)
=DECALER(listes!$A$1;1;EQUIV(saisie!C3;choix1;0)-1;NBVAL(INDIRECT("listes!C"&EQUIV(saisie!C3;choix1;0);0));1)
la colonne affichée dépend de la saisie du choix 1 (en italique) et comme l'adressage n'est pas fixé par $ il s'adapte à toutes les cellules de la feuille concernée : ici C3 car la formule a été copiée sur la cellule D3.
Comme les listes sont totalement dynamiques avec la fonction DECALER tu peux saisir autant de postes que tu veux et la liste les prend en compte automatiquement.
Un petit exemple avec les listes dans l'autre présentation et toujours 2 formules nommées : http://cjoint.com/?fdxJ6L3SQ5
les formules nommées
choix1 =DECALER(listes!$A$1;;;;NBVAL(listes!$1:$1)) choix2 =DECALER(listes!$A$1;1;EQUIV(saisie2!C5;choix1;0)-1;NBVAL(INDIRECT("listes!C"&EQUIV(saisie2!C5;choix1;0);0));1) choix11 =DECALER(listes2!$A$5;;;NBVAL(listes2!$A:$A);) choix12 =DECALER(listes2!$A$5;EQUIV(saisie2!C4;choix1;0)-1;1;1;NBVAL(INDIRECT("listes2!L"&EQUIV(saisie2!C4;choix1;0)+4;0)))Merci pour ton aide. Ca répond largement à ma question.
Merci encore :)
Cordialement