[Excel] Liste déroulante filtré selon donnée

Fermé
Vanx_ - 12 janv. 2012 à 12:16
 vanx_ - 20 janv. 2012 à 15:54
Bonjour,

Après plusieurs recherches infructueuses, je décide d'exposer mon problème ici, merci d'avance de votre aide.

J'ai un fichier excel avec 3 feuilles dans celui-ci.
- feuille1: c'est ma feuille de travail, c'est dans cette feuille que j'ai plusieurs Colonnes ou les données proviennent des feuilles 2 et 3 (sous forme de liste déroulantes et ensuite rechercheV pour les données liées.

-Feuille2: Carnet d'adresses des clients (Nom, Prénom, données.....)
-Feuilles3: Les biens des clients (avec une colonne NOM qui est une liste de choix de la colonne Nom de la feuille2) Je sais ainsi quel bien appartient a qui (les biens sont uniques!!)


Donc dans la Feuille1 je sélectionne le client (liste de choix de la colonne Nom de la feuille2) et ensuite je sélectionne son bien (liste de choix de la colonne bien de la feuille3).

Ce que j'aimerais, c'est de n'avoir dans ma liste déroulante, que les bien de la personne sélectionnée seulement et pas les autres.... sinon la liste est kilométrique et porte parfois a confusion.


Est-ce possible ? si oui comment , quel type de fonction ? ou paramètre....


Merci

Kris



10 réponses

JvDo Messages postés 1978 Date d'inscription mercredi 27 juillet 2005 Statut Membre Dernière intervention 28 septembre 2020 856
12 janv. 2012 à 19:21
Bonsoir,

J'ai cherché une solution sans utiliser de cellules intermédiaires (avec des noms à formule matricielle) mais je n'ai pas trouvé.
Donc voilà une solution qui utilise une zone de la feuille Feuil1!$A$3:$A27 pour calculer la liste déroulante associée au nom du client saisi en Feuil1!$B$3 (sur la base d'une validation qui utilise Feuil2!nom).
La table des biens est en Feuil3!$C$5:$D$28, 1ère colonne pour les noms et 2ème colonne pour les biens.

En Feuil1!$A$3, tu saisis
=SI(LIGNES(Feuil1!$A$3:A3)<=NB.SI(Feuil3!$C$5:$C$28,Feuil1!$B$3),INDEX(Feuil3!$D:$D,PETITE.VALEUR(SI(Feuil3!$C$5:$C$28=Feuil1!$B$3,LIGNE(Feuil3!$D$5:$D$28),9^9),LIGNES(Feuil1!$A$3:A3))),"")
que tu valides par CTR+MAJ+ENTER et que tu recopies sur Feuil1!$A$3:$A27.

En Feuil1!$C$3 (ou ailleurs) tu fais ta 2ème validation qui pointe sur Feuil1!$A$3:$A27 et tu auras ainsi la liste des biens détenus par le nom que tu auras saisi en Feuil1!$B$3.
j'utilise un nom dynamique biens_du_nom avec la formule
=DECALER(Feuil1!$A$3,,,NB.SI(Feuil3!$C$5:$C$28,Feuil1!$B$3),1)
qui permet de limiter la liste de validation au nombre de biens que le client détient.

https://www.cjoint.com/?BAmttaeJ8hf

cordialement

PS : j'ai fait la maquette en version 2010 et j'ai eu des tonnes d'alertes de compatibilité pour le format 97-2003. J'espère que ça fonctionne
2