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 :

Renseigner Combobox dans un UserForm


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de catsur
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 71
    Par défaut Renseigner Combobox dans un UserForm
    Bonjour à tous,

    Après avoir cherché sur Internet et essayé d’adapter plusieurs codes, je n’arrive toujours pas à résoudre mon problème, qui est le suivant.

    Je voudrais renseigner une combobox d’une liste de valeurs. Cette combobox se trouve dans un Userform. Il est impératif que les valeurs ne soient pas dans la feuille Excel, mais bien écrite dans la macro en VBA.

    Alors voilà, j’ai vu plein de choses différentes sur les combobox dans les Userforms, mais aucune méthode que j’ai vu n’est la même et aucune ne marche.

    Mes questions sont donc les suivantes :

    -Quel est le code à mettre pour insérer des valeurs dans une combobox qui se trouve dans un Userform
    -Où doit-on placer ce code ?


    Je remercie par avance la ou les personnes qui voudront bien me venir en aide.

    catsur

  2. #2
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    bonjour,
    tu peux essayer ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub UserForm_Initialize()
     
    Dim tabDonnées As Variant
    tabDonnées = Array("un", "deux", "trois", "quatre")
    ComboBox1.List() = tabDonnées
    ComboBox1.ListRows = UBound(tabDonnées) + 1
    ComboBox1.ListIndex = 0 '-1
    ComboBox1.SelStart = 0
    ComboBox1.SelLength = Len(ComboBox1.Value)
    End Sub
    Cordialement

  3. #3
    Membre confirmé Avatar de catsur
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 71
    Par défaut
    Bonjour,

    Tout d'abord merci de m'avoir répondu.

    Donc j'ai testé votre exemple une première fois, et il a parfaitement marché. J'ai essayé de le mettre tel quel dans ma feuille Excel, et ça n'a jamais voulu remarcher!

    Du coup j'ai essayer de le refaire dans une feuille vierge, mais ça ne marche toujours pas!

    Je ne comprends pas ce que j'aurais pu faire la première fois qui l'aurait fait marché et ce que je pourrais faire maintenant qui ne le fait pas marché, car j'ai tout fait dans la foulée!!

    Je ne comprend vraiment pas!!!

    Juste une question : où faut-il mettre ce code? Dans le code du Userform? Dans le Workbook?

    Quelqu'un as-t-il une explication?

    Merci!

  4. #4
    Membre confirmé Avatar de catsur
    Étudiant
    Inscrit en
    Mai 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2008
    Messages : 71
    Par défaut
    Je viens de tester ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub ComboBox1_Change()
    Dim tabDonnées As Variant
    tabDonnées = Array("un", "deux", "trois", "quatre")
    ComboBox1.List() = tabDonnées
    ComboBox1.ListRows = UBound(tabDonnées) + 1
    ComboBox1.ListIndex = 0 '-1
    ComboBox1.SelStart = 0
    ComboBox1.SelLength = Len(ComboBox1.Value)
     
    End Sub
    Il ne marche pas du premier coup, par contre il marche quand je tape quelque chose dans la combobox. Donc quand j'ai tapé quelque chose il me marque les valeurs de tabDonnées....

    Voilà si ça peut en aider à m'aider...(...)

    Merci!

  5. #5
    Membre chevronné Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Par défaut
    Bonjour,

    C'est normal qu'il ne fonctionne seulement quand tu écris quelque chose dedans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub ComboBox1_Change()
    Place plustot ton code dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub UserForm_Activate()
    Le code s'exécutera à l'activation de ton usf.

    Ça devrait fonctionner!

Discussions similaires

  1. [Toutes versions] Alimenter un ComboBox dans un Userform
    Par irthen dans le forum VBA Word
    Réponses: 10
    Dernier message: 24/01/2013, 21h40
  2. [Toutes versions] Récupération et utilisation de données d'un comboBox dans un UserForm
    Par L'Albatros dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 13/06/2012, 16h28
  3. [XL-2003] Affichage de donnes a partir d'une combobox dans un UserForm
    Par natab dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 08/07/2011, 13h37
  4. [XL-2003] Traitement de plusieurs Textbox/Combobox dans un Userform
    Par Greg32885 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 13/05/2010, 20h42
  5. menu déroulant combobox dans une userform
    Par NicolasMO dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/07/2007, 18h44

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