Définition d'une valeur par défaut pour une liste de validation en cascade dynamique dans Excel 2010

11

J'ai enfin compris comment créer un ensemble de listes en cascade dynamique dans Excel à l'aide de la validation des données et de la fonction INDIRECTE. Cependant, je rencontre un problème.

Je voudrais configurer ma feuille de calcul de sorte que chaque fois qu'une modification est apportée dans une liste de validation des données, toutes les listes suivantes soient définies sur une valeur par défaut. Par exemple:

Disons que j'ai List1, List2, List3 et List4. Les valeurs de chaque liste dépendent de la sélection effectuée dans la liste précédente. Lorsque je démarre la feuille de calcul, je veux que toutes les listes par défaut soient "TOUT". Lorsque l'utilisateur sélectionne une valeur dans List1, List2 se met à jour avec un ensemble de choix valides. Je voudrais par défaut List2 à l'un de ces choix. Cependant, bien que je puisse obtenir List2 pour remplir avec l'ensemble correct d'options de sélection, je ne peux pas obtenir la valeur par défaut souhaitée qui lui est affectée.

De même, si l'utilisateur fait une sélection dans List1, List2 et List3, puis revient en arrière et modifie List1, je voudrais que List2-List4 revienne par défaut à "ALL".

Comment puis-je faire cela?

Geai
la source
3
Il s'agit d'un travail pour un déclencheur d'événement VBA worksheet_change. Je n'ai pas le temps pour l'instant de donner les détails (je le ferai plus tard si vous avez encore besoin d'aide), mais c'est là que vous devez diriger vos recherches.
Excellll
Vous avez probablement résolu ce problème maintenant ou abandonné. Je suis d'accord avec Excellll qu'un événement de changement de feuille de calcul pourrait être le plus simple. Cependant, avec l'option Liste pour la validation des données, la source peut être une expression telle que =IF(A1="List1",C1:C5,D1:D4). J'ai testé cela avec la valeur de la cellule A1 sélectionnée dans une liste et cela fonctionne comme vous le souhaitez.
Tony Dallimore
Êtes-vous toujours confronté à ce problème?
Tamara Wijsman
Pour info, une méthode non VBA que j'emploie pour ce problème consiste à appliquer une mise en forme conditionnelle aux cellules suivantes qui vérifie si la valeur actuelle qu'elle contient correspond à une valeur dans la plage de référence INDIRECT () actuelle. Sinon, la cellule devient rouge ou la valeur disparaît (police / arrière-plan correspondant) afin que l'utilisateur sache que la valeur de cette cellule doit être mise à jour / resélectionnée.
Jerry Beaucaire
Pour illustrer à la fois la méthode VBA et la méthode CF que j'ai mentionnées ci-dessus, il existe un exemple de fichier ici DependentLists3.xls
Jerry Beaucaire

Réponses:

1

Une méthode non VBA que j'emploie pour ce problème consiste à appliquer un formatage CONDITIONNEL aux cellules suivantes qui vérifie si la valeur actuelle qu'il contient correspond à une valeur dans la plage de référence INDIRECT () actuelle. Sinon, la cellule devient rouge ou la valeur disparaît (police / arrière-plan correspondant) afin que l'utilisateur sache que la valeur de cette cellule doit être mise à jour / resélectionnée.

Pour illustrer cela (et la méthode VBA mentionnée par d'autres ci-dessus), voici un exemple de fichier . Le fichier que vous voulez est DependentLists3.xls

Jerry Beaucaire
la source