Microsoft 365 EXCEL code VBA pour réinitialiser les listes déroulantes en cascades

jmayaud

XLDnaute Nouveau
Bonjour ,
J'ai créer des listes déroulantes en cascades sur la feuille "fiche séance". (composantes, sous-composantes, attendus, compétences associées)
Je voudrais un code VBA pour que mes listes suivantes se réinitialisent si on change les données en amont.
Merci beaucoup de votre aide !!
 

Pièces jointes

  • FICHE SEANCE MODELE cycle 2 - français.xlsx
    55.5 KB · Affichages: 8

fanch55

XLDnaute Barbatruc
Bonjour,
Mettez le code ci-dessous dans le module de la feuille "fiche séance" et voyez s'il vous convient .
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim IsChanged As Boolean, I As Integer
Dim Valist As Variant:  Valist = Array("$A$8", "$D$8", "$A$10", "$A$12")
Dim Zone As Range:      Set Zone = Range(Join(Valist, ","))

    If Target.Count = 1 And Not Intersect(Target, Zone) Is Nothing Then
        Application.EnableEvents = False
        For I = 0 To UBound(Valist)
            Select Case True
                Case IsChanged: Range(Valist(I)) = ""
                Case Target.Address = Valist(I): IsChanged = True
            End Select
            Application.EnableEvents = True
        Next
    End If

End Sub
 

Discussions similaires

Réponses
8
Affichages
759

Statistiques des forums

Discussions
315 093
Messages
2 116 136
Membres
112 667
dernier inscrit
foyoman