thomasdu43
XLDnaute Occasionnel
Bonjour,
Je souhaite coller un code VBA dans une feuille contenant déjà un code. Le code à coller est identique à l'autre, seules les cellules de destination et la base de données à laquelle il se réfère changent.
Comment distinguer chaque code l'un de l'autre ?
Ci-dessous le début du code et en rouge les éléments différenciants de chacun d'eux.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([b3:b3], Target) Is Nothing And Target.Count = 1 Then
Set d1 = CreateObject("Scripting.Dictionary")
For Each c In [choix1]: d1(c.Value) = "": Next c
Target.Validation.Delete
Target.Validation.Add xlValidateList, Formula1:=Join(d1.keys, ",")
End If
'-- niv 2
If Not Intersect([b4:b4], Target) Is Nothing And Target.Count = 1 Then
Set d1 = CreateObject("Scripting.Dictionary")
For Each c In [choix2]
If c.Offset(0, -1) = Target.Offset(-1) Then d1(c.Value) = ""
Next c
If d1.Count > 0 Then
Target.Validation.Delete
Target.Validation.Add xlValidateList, Formula1:=Join(d1.keys, ",")
End If
End If
Faut il qu'ils soient dans 2 feuilles différentes ?
Merci de votre aide.
Je souhaite coller un code VBA dans une feuille contenant déjà un code. Le code à coller est identique à l'autre, seules les cellules de destination et la base de données à laquelle il se réfère changent.
Comment distinguer chaque code l'un de l'autre ?
Ci-dessous le début du code et en rouge les éléments différenciants de chacun d'eux.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([b3:b3], Target) Is Nothing And Target.Count = 1 Then
Set d1 = CreateObject("Scripting.Dictionary")
For Each c In [choix1]: d1(c.Value) = "": Next c
Target.Validation.Delete
Target.Validation.Add xlValidateList, Formula1:=Join(d1.keys, ",")
End If
'-- niv 2
If Not Intersect([b4:b4], Target) Is Nothing And Target.Count = 1 Then
Set d1 = CreateObject("Scripting.Dictionary")
For Each c In [choix2]
If c.Offset(0, -1) = Target.Offset(-1) Then d1(c.Value) = ""
Next c
If d1.Count > 0 Then
Target.Validation.Delete
Target.Validation.Add xlValidateList, Formula1:=Join(d1.keys, ",")
End If
End If
Faut il qu'ils soient dans 2 feuilles différentes ?
Merci de votre aide.