Création liste déroulante en fonction de la valeur d'une case

Bonjour, je suis bloqué dans la création de mon fichier.

Je souhaite faire apparaitre dans la plage F24:F27 une liste déroulante. C'est à dire que chacune de ces cases se voit apparaitre d'une liste déroulante avec les choix "OUI" et "NON" si dans la case F21 il y écrit "OUI".

Dans ce que j'ai fait, il me créé bien les listes déroulantes dès qu'il y a "OUI" dans la case F21 mais il me propose une seule option : "OUI,NON"... Et j'ai pas réussi à trouver pourquoi..

Si vous pouviez m'aider à résoudre ce problème ca serait top !

Merci beaucoup

Voici le code:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rng As Range
    Dim cell As Range

    Set rng = Range("F21")

    If Not Intersect(Target, rng) Is Nothing Then
        If rng.Value = "OUI" Then
            For Each cell In Range("F24:F27")
                With cell.Validation
                    .Delete
                    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
                        Formula1:="OUI"
                    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
                        Formula1:="NON"
                    .IgnoreBlank = True
                    .InCellDropdown = True
                End With
            Next cell
        Else
            For Each cell In Range("F24:F27")
                cell.ClearContents
                cell.Validation.Delete
            Next cell
        End If
    End If
End Sub

Bonjour

A+

Oups voici le fichier :

4test.xltm (15.68 Ko)
Rechercher des sujets similaires à "creation liste deroulante fonction valeur case"