Bonjour,
J'utilise le code suivant pour créer une liste déroulante en cascade. Je peux entrer seulement 14 clients au 15 ième j'ai un message d'erreur qui met retourner (#1004) pourquoi?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect([D7:D10000], Target) Is Nothing And Target.Count = 1 Then
Set f = Sheets("Client")
Set d = CreateObject("Scripting.Dictionary")
For Each c In f.Range("B4:B" & f.[B65000].End(xlUp).Row): d(c.Value) = "": Next c
Target.Validation.Delete
Target.Validation.Add xlValidateList, Formula1:=Join(d.keys, ",")
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect([D7:D10000], Target) Is Nothing And Target.Count = 1 Then
If Target <> "" Then
Set f = Sheets("Client")
Set d = CreateObject("Scripting.Dictionary")
For Each c In f.Range("B4:B" & f.[B65000].End(xlUp).Row)
If c.Value = Target Then d(c.Offset(, 1)) = ""
Next c
Target.Offset(, 1).Validation.Delete
Target.Offset(, 1).Validation.Add xlValidateList, Formula1:=Join(d.keys, ",")
a = d.keys: Target.Offset(, 1) = a(0)
If d.Count > 1 Then Target.Offset(, 1).Select: SendKeys "%{down}"
Else
Target.Offset(, 1) = ""
End If
End If
End Sub
Merci,
Oiseau Bleu