XL 2010 Créer un menu déroulant en VBA

  • Initiateur de la discussion Initiateur de la discussion juberrebi
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

juberrebi

XLDnaute Nouveau
Bonjour à tous 🙂

Je cherche à créer un menu déroulant en VBA mais je recontre quelques problèmes :

VB:
With feuille.Cells(L, num_colonne).Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="Oui,Non"
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
End With

avec feuille la feuille ouverte
L : le numéro de la ligne
num_colonne : numéro de ma colonne.

feuille.Cells(L, num_colonne) semble bien être un Range puisque je parviens à lui appliquer .Value
Mais pourtant lors de l'execution : il m'affiche un message d'erreur au niveau du .Add Type : 1004: définie par l’application ou par l’objet...

Par avance merci et excellent week-end à tous !!
 
Bonjour,

Pour info, j’ai effectué le test suivant sur un classeur vierge :
- Modification du CodeName pour lui affecter le nom ‘’feuille’’
- Copie du code dans un module standard
VB:
Sub Test()
Dim L As Long
Dim num_colonne As Integer
    L = 1
    num_colonne = 1
    With feuille.Cells(L, num_colonne).Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:="Oui,Non"
            .IgnoreBlank = True
            .InCellDropdown = True
            .InputTitle = ""
            .ErrorTitle = ""
            .InputMessage = ""
            .ErrorMessage = ""
            .ShowInput = True
            .ShowError = True
    End With
End Sub

Je lance la macro et j’obtiens bien la liste de validation en A1.
Il te reste à voir la différence avec ton classeur.

Cdlt.
 
RE..juberrebi
La différence se situe entre "ActiveSheet" et "feuille"
Comme on ne sait pas ce qu'est "feuille"
Si cela ne fonctionne pas (tu ne le dis pas), mets un bout de classeur en ligne avec le code
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
1 K
Réponses
16
Affichages
3 K
Réponses
3
Affichages
897
Réponses
1
Affichages
996
Réponses
2
Affichages
858
Retour