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 :

Associer une macro à une liste déroulante


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Août 2012
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 10
    Par défaut Associer une macro à une liste déroulante
    Bonjour,

    Dans ma feuille de calcule je place une liste déroulante (insertion dans le menu développeur). Plutôt que de choisir l'option classique (associer les champs de la liste à une plage de cellule) qui est moche et emcombrante, j'aimerai tout faire par VBA. C'est à dire que j'aimerai lui dire quel item afficher etc... Mais je ne comprends pas comment faire. Ma liste n'a aucun nom donc je ne sais pas comment l'appeler pour faire un truc du genre ComboBox.AddItem...
    Quand je choisi "Affecter à une Macro" ça fait quoi exactement ???

    Merci de vos éclaircissements,

    A bientot

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Utilise plutôt une Liste déroulante ActiveX

  3. #3
    Membre habitué
    Inscrit en
    Août 2012
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 10
    Par défaut
    Merci pour ta réponse,

    j'ai regardé de ce coté et j'ai cru y trouvé mon bonheur au début, mais en fait non... J'aimerai simplement pouvoir simplement définir au début les termes de ma liste déroulante et accéder au terme sélectionné pour l'exploiter dans mon code VBA.
    JE peux bien écrire ComboBox.AddItem "Terme1"
    ComboBox.AddItem "Terme2" ...
    dans la procédure ComboBox_change() qui intervient à chaque clic sur ma liste. Mais du coup les termes de ma liste sont créés à chaque fois que j'en sélectionne un et ma liste grandit de clic en clic, avec les mêmes termes redondants...
    Et si je tape ComboBox.AddItem "Terme1"
    ComboBox.AddItem "Terme2" ...
    à un autre endroit, la compilation ne marche pas "objet inconnu".

    Comment puis-je simplement définir les termes de ma liste et ne plus y toucher et sans utiliser une plage de cellule de mon classeur !?

    Merci pour votre aide

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Utilise l’évènement Open de ton classeur.
    Code à mettre dans le module ThisWorkbook
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Workbook_Open()
     
    With Worksheets("Feuil1").ComboBox1 'Adapte au nom de ta feuille et de ta Combobox
        .AddItem "Toto"
        .AddItem "Tata"
        .AddItem "Titi"
    End With
    End Sub
    Enregistre, ferme et ré-ouvre ton fichier

  5. #5
    Membre habitué
    Inscrit en
    Août 2012
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2012
    Messages : 10
    Par défaut
    Super !!!! Merci beaucoup !

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/06/2020, 13h44
  2. [XL-2010] Macro création liste déroulante pour réaliser une synthèse
    Par rico63 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 16/04/2012, 15h02
  3. Réponses: 8
    Dernier message: 24/02/2006, 10h59
  4. Réponses: 1
    Dernier message: 19/01/2006, 18h54
  5. Réponses: 4
    Dernier message: 29/10/2005, 19h03

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