Réinitialiser une liste déroulante en cascade lors d'un changement

Bonjour à tous,

Une petite question, je n'ai pas pratiqué depuis longtemps et je n'arrive plus à retrouver comment réinitialiser une liste déroulante en cascade.

Prenons l'exemple ci-joint :

- Feuil1 = Base de données des fournisseurs et produit ainsi que le conditionnement

- Feuil2 = Prix unitaire (pas d'intérêt pour la réponse à la question)

- Feuil3 = Pourcentage du prix unitaire appliqué en fonction du conditionnement (idem pas d'intérêt)

-Feuil4 = La ou se trouve mes liste en cascade

Comment réinitialiser ma deuxième liste (Produit, cellule C4) et ma troisième liste (Conditionnement, cellule D4) lorsque la première liste (Fournisseur, cellule B4) change ?

Je saurais le faire en VBA mais ne souhaite pas cette solution car VBA pose des problème lors du partage du fichier. Enfin pas un problème en tant que tel mais l'utilisateur doit penser à débloquer le fichier lors du premier téléchargement et penser à activer les macros. Je cherche donc une solution autre.

Il me semble qu'il en existe une mais je ne la retrouve plus.

L'avez-vous sous la main ?

Merci :)

Bonjour,

formule de validation pour la cellule D4 :

=DECALER('Base de données'!$C$1;EQUIV($B$4&$C$4;'Base de données'!$A$2:$A$302&'Base de données'!$B$2:$B$302;0);;NB.SI.ENS('Base de données'!A$2:A$302;$B$4;'Base de données'!B$2:B$302;$C$4))

En fait on fait une recherche sur le concatener et B4 et C4 sur les colonnes concaténées de base de donnée A et B et on compte avec NB.SI.ENS() le nombre de fois que cette paire de données existe.

@ bientôt

LouReeD

Bonjour Lou,

Merci pour ton retour.

Sauf si j'ai mal compris (ou que je me suis mal exprimé), la réponse que tu m'a fourni permet de créer une liste en cascade sur la troisième liste en fonction des deux premières, dans le fichier que j'ai partagé j'ai déjà réalisé cette opération enfin pas exactement mais je me suis assuré que la liste de produit était unique (un produit ne peut être présent chez deux fournisseur). Cependant j'applique ta solution car du coup elle me permet d'avoir un produit identique chez plusieurs fournisseurs qui aurait des conditionnements différents donc top, merci ;)

Mais ce que je souhaite, c'est que lorsque je change la valeur de ma première liste, la deuxième et la troisième "soit vidé".

Prenons l'exemple avec la deuxième liste qui contient les produits, si je sélectionne dans ma première liste (B4) "Barilla", dans ma deuxième liste (C4) "Gnocchi Barilla".

Maintenant si je change ma première liste en "Coca Cola" et bien j'ai toujours dans ma cellule C4 "Gnocchi Barilla". Je voudrais donc que ma cellule C4 soit vidé et D4 par la même occasion (et que j'ai la possibilité de sélectionné un produit du fournisseur Coca Cola comme c'est le cas mais je ne pourrais pas sélectionné Gnocchi Barilla car ce produit n'est pas disponible pour ce fournisseur.)

Je veux juste "vider" la cellule à chaque changement.

Sans VBA, point de salut dirai je, une formule ne modifie pas les valeurs de cellules.
Une surveillance événementielle sur le CHANGE de la page peut le faire.

La validation d'une cellule n'étant pas dynamique... On peut choisir une valeur on peut tester si cette valeur est valide ou pas mais une fois inscrite on ne peut y toucher "à distance" avec une formule.

Ou bien je ne connais pas la solution...

@ bientôt

LouReeD

Merci pour ton retour, je n'en était plus sûr ! Je clôture le sujet, merci et à bientôt :)

Rechercher des sujets similaires à "reinitialiser liste deroulante cascade lors changement"