IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Liste déroulante Excel VBA [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    795
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 795
    Par défaut Liste déroulante Excel VBA
    Bonjour à tous,

    Je cherche à faire une liste déroulante via VBA

    Mon premier réflexe est d'utiliser une macro enregistrée VBA et voici le résultat obtenu:

    Code vba : 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
    Columns("A:A").Select
        With Selection.Validation
            .Delete
            .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
            xlBetween, Formula1:="A;B"
            .IgnoreBlank = True
            .InCellDropdown = True
            .InputTitle = ""
            .ErrorTitle = ""
            .InputMessage = ""
            .ErrorMessage = ""
            .ShowInput = True
            .ShowError = True
        End With
        Range("A5").Select
    End Sub

    Ma liste est créée et je peux choisir entre les valeur "A" ou la valeur "B" pour chaque ligne de la colonne A


    Manuellement, je retire la liste via le menu Validation des données (je met donc Autoriser Tout)
    Je refais exécuter de la macro et surprise :
    J'ai bien une liste mais avec une seule valeur : "A;B"

    J'ai donc opté pour des listes sur une référence vers une autre feuille mais je ne sais pas comment ne pas prendre le titre de la colonne
    Validation des données : =Feuil1!$A:$A
    si dans la feuille "Feuil1", j'ai mis :
    ListeToto
    A
    B

    Je pourrai choisir la valeur "ListeToto"

    Remarque: comme cela, la macro semble fonctionner à l'identique que l'enregistrement


    Il y a t'il une solution à mon problème?

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    795
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 795
    Par défaut
    Désolé, je viens de regarder la documentation et la réponse est indiquée :
    https://docs.microsoft.com/fr-fr/off...validation.add

    xlValidateList
    Formula1 est obligatoire, Formula2 est ignoré.
    Formula1 doit contenir soit une liste de valeurs séparées par des virgules, soit une référence de feuille de calcul à cette liste.

    (ce n'est pas en gras dans la doc, c'est moi qui ait fait apparaitre la source du problème )

    Mais l’enregistrement de macro et ce qu'on voit visuellement ne nous aide pas !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2013] Liste déroulante dynamique vba excel 2013 ne s'enrichit pas
    Par Jeanne56 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 27/08/2018, 13h02
  2. Réponses: 50
    Dernier message: 12/06/2014, 14h48
  3. utiliser les éléments d'une liste déroulante excel en VBA
    Par erlerwade dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/06/2012, 12h32
  4. Liste déroulante Excel VBA
    Par a.dequidt dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 05/09/2007, 16h34
  5. Réponses: 4
    Dernier message: 16/06/2005, 15h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo