Créer une liste déroulante avec VBA [Fermé]

Signaler
Messages postés
14
Date d'inscription
mercredi 9 novembre 2016
Statut
Membre
Dernière intervention
10 février 2017
-
Messages postés
15723
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
10 avril 2021
-
Bonjour,

Je travaille sur un logiciel assez complexe utilisant VBA. La cellule E15 est une liste déroulante OUI/NON.
-Si E15 = OUI alors il faut que D18 soit libre et VBA va y rentrer un chiffre qu'il calcule.
-Si E15 = NON alors il faut que D18 soit une liste déroulante avec 79 et 91 comme possibilités

J'ai essayé avec le code suivant :

 If Sheets("AW139 6,8T").Cells(15, 5) = "OUI" Then
 Sheets("AW139 6,8T").Cells(18, 4) = Sheets("AW139 6,8T").Cells(19, 4) / Sheets("AW139 6,8T").Cells(20, 4)
 ElseIf Sheets("AW139 6,8T").Cells(15, 5) = "NON" Then
 Sheets("AW139 6,8T").Range("D18").Locked = False
 With Range("D18").Validation
 .Delete
 .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="79,91"
 End With
 End If



J'ai a chaque fois un message d'erreur "Erreur définie par l'application ou par l'objet" et la ligne .Add Type se surligne en jaune mais je ne comprends pas ce qui est faux...
Pourriez-vous m'aider à trouver une solution s'il vous plait ?

Merci d'avance ! :)

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

1 réponse

Messages postés
15723
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
10 avril 2021
1 481
Bonjour,

Il faut selectionner la cellule

Range("D18").Select
With Selection.Validation
    .Delete
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="79,91"
 End With