Bonjour à tous,

J'ai créé dans ma cellule A7 un menu déroulant avec 2 choix possibles : bleu ou jaune. Si on choisi bleu, je créé en B7 un autre menu déroulant dont la source est située sur la plage C2: D2. Si on choisi jaune, idem que précédemment sauf que la source est située en C3: D3.
De manière à automatiser la macro (Macro1), j'ai rentré la macro suivante dans mon workbook :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Call Macro1
End Sub
Seul bémol, quand je sélectionne jaune ou bleu, un message d'erreur s'affiche ("erreur définie par l'application ou par l'objet"). J'ai la première ligne de code ma macro qui est surlignée (ligne en rouge ci-dessous).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Sub Macro1()

If ActiveCell.Offset(0, -1).Value = "Jaune" Then
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=$C$2:$D$2"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
End If
    
If ActiveCell.Offset(0, -1).Value = "Bleu" Then
    With Selection.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="=$C$3:$D$3"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
End If
End Sub

Merci d'avance pour votre aide