RAZ liste en cascade

Marc_

XLDnaute Nouveau
Bonjour !

Je sais que ce sujet a été traité de nombreuses fois (je cherche sur divers forum depuis 2 jours...) mais je n'ai pas encore trouvé mon bonheur aussi je m'adresse à vous :

Je suis en stage et j'ai fait un petit fichier excel dans lequel j'ai réalisé des liste en cascade avec la fonction INDIRECT. Mon problème : je n'arrive pas à réinitialiser la liste du second niveau lorsque la liste du premier niveau est modifiée.

Je suppose qu'on doit le faire avec du VBA, mais mes connaissances dans ce domaine sont... inexistantes. Cependant si quelqu'un a une solution VBA, peut il me l'expliquer et pas juste me donner le code SVP : cela me permettrais de le réutiliser de manière plus efficace dans d'autres applications (je ne demande qu'à apprendre ^^).

Vous trouverez ci joins mon fichier test.

Merci d'avances !
Cordialement,

PS : je ne sais pas si c'est important pour ce problème mais le programme doit aussi tourner sous les version plus récentes d'excel (2007 et 2010)
 

Pièces jointes

  • Test.xls
    227 KB · Affichages: 86
  • Test.xls
    227 KB · Affichages: 97
  • Test.xls
    227 KB · Affichages: 104

Dull

XLDnaute Barbatruc
Re : RAZ liste en cascade

Salut Marc_ et Bienvenue sur XLD, le Forum

En effet avec ce code à mettre dans le Module de ta Feuille

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [B2]) Is Nothing Then [C2] = ""
End Sub

Le changement intervient que quand la liste de validation change il efface la cellule en C2
le Code plus haut veux dire

Si le changement à lieu dans la cellule B2 et seulement dans la Cellule B2 alors on efface la cellule C2 sinon rien ne se passe.

Bonne Journée
 

Cyandrell

XLDnaute Nouveau
Re : RAZ liste en cascade

Bonjour,
J'ai un peu le même soucis que l'OP, la différence étant que j'ai 3 listes en cascade, et je voudrais procéder à leur RAZ en cas de changement dans les cellules.
À savoir :
Si changement dans B9, C9 et D9 deviennent vides ;
Si changement dans C9, D9 devient vide.
Je n'ai pas su trouver le bon code, et puis moi et le VBA... ;) Je n'étais même pas sûr de devoir inscrire le code dans la partie "Modules" de mon doc !

En vous remerciant d'avance !
 
Dernière édition:

Dull

XLDnaute Barbatruc
Re : RAZ liste en cascade

Salut Cyandrell, le Forum

Peut-être comme cela
dans le Module de la Feruille en question

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [B9]) Is Nothing Then [C9] = "": [D9] = ""
If Not Intersect(Target, [C9]) Is Nothing Then [D9] = ""
End Sub

A tester
Bonne Journée
 

Cyandrell

XLDnaute Nouveau
Re : RAZ liste en cascade

Bonjour Dull, et merci de ta réponse rapide !
J'étais en train d'éditer mon premier message pour dire que j'avais fini par réussir, effectivement avec le code qui tu viens de proposer. :)
Merci beaucoup du coup !
Bonne journée !
 

Rico2a

XLDnaute Nouveau
Re : RAZ liste en cascade

Bonjour à tous,

J'ai bien réussi (merci le forum !) à créer mes listes en cascade avec la validation et la fonction INDIRECT.
Mais je n'arrive pas à remettre à 0 ma 2ème liste lorsque je change la 1ère.
Avec le code suivant :
"Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [B2]) Is Nothing Then [C2] = ""
End Sub "
Cela fonctionne bien pour 1 ligne, mais j'ai un nombre de lignes variable, chacunes associée à une liste déroulante.
Je suppose qu'il faut une boucle, mais je ne sais pas faire en VBA.

Merci de votre aide
 

Pièces jointes

  • essai RAZ.xlsm
    22.8 KB · Affichages: 118

Discussions similaires

Réponses
8
Affichages
579

Statistiques des forums

Discussions
312 213
Messages
2 086 302
Membres
103 174
dernier inscrit
OBUTT