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 :

initialisation de listbox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 68
    Par défaut initialisation de listbox
    Bonjour,
    j'ai crée un usrform sous excel avec une listbox contenue dans une frame.
    Je voudrais que lorsque l'utilisateur clique sur la listbox 3 choix s'offre à lui.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub ComboBox2_DropButtonClick()
     
    userform2.combobox2.additem "Mlle"
    userform2.combobox2.additem "Mme"
    userform2.combobox2.additem "M"
     
    End Sub
    Cependant (mais c logique) à chq click il me rajoute les trois éléments.
    Je n'utilise certainement pas le bon évenement.Quel serait le + approprié pour que la listbox ne contienne que ces trois choix?
    Merçi d'avance.

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2007
    Messages : 56
    Par défaut
    Bonjour,
    Pour moi le chargement de la liste box ne doit pas se faire dans l'évènement mais préalablement à l'affichage.
    Bon courage

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 68
    Par défaut
    C vrai qu'il est possible de coder les choix dans l'événement open de thisworkbook mais je pense qu'il doit exister une autre méthode.
    sinon à chaque fermeture du usrform il faut penser à vider la listbox.

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Par défaut
    bonjour,

    a l initialisation du userform tu autorise l utilisation du combobox
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    combobox.enable = true
    apres la creation des 3 elements ds la listbox avec ta procedure,
    tu rends le controle indisponible

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    combobox.enable = false

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 68
    Par défaut
    Merci de ta réponse,mais j'ai procédé autrement.

    Activation du usrfrm
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub UserForm_Activate()
     
    ComboBox2.AddItem "Mme"
    ComboBox2.AddItem "Mlle"
    ComboBox2.AddItem "M"
    Image1.Visible = False
     
    End Sub
    desactivation du usrfrm
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub UserForm_Deactivate()
     
    ComboBox2.Value = ""
     
    End Sub
    Je ne sais pas si c'est ainsi qu'un puriste l'aurait fait mais apparement celà fonctionne.Je ne suis qu'un simple débutant.
    s'il y a une méthode plus "respectueuse" je suis preneur.

  6. #6
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    La beauté de la chose, avec Excel, c'est qu'on peut définir des listes pour nos ListBox. Par exemple, tu peux ajouter une feuille sur laquelle tu définit le contenu de tous tes listBox et ComboBox et autre listes de paramètres (Provinces, régions, titres de politesse, groupe d'âge...). Tu peux définir un nom de plage pour chacune de ces listes. Par exemple tu sélectionne les trois mots,

    Mme
    Mlle
    M

    Et tu tapes un nom significatif dans la zone nom (à gauche de la barre de formules). Dans ton userForm, tu sélectionne le ListBox ou le ComboBox et tu mets le nom de ta zone dans la propriété RowSource. Tu peux, par la suite, masquer la feuille qui contient les listes de paramètres (Format > Feuille > Masquer).

    Si mes explications ne sont pas assez claires, tu dis.

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

Discussions similaires

  1. [XL-97] Initialisation de listbox dans un Userform erronée
    Par micig dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/09/2009, 16h24
  2. [e-07]initialisation USF avec 3 listbox
    Par casefayere dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 20/04/2009, 14h51
  3. Empecher initialisation listbox a l'ouvertoure du workbook
    Par radagast35 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 11/06/2008, 19h45
  4. Initialisation ListBox à sélections multiples
    Par vincentdu33 dans le forum C#
    Réponses: 1
    Dernier message: 26/07/2007, 09h54
  5. [MFC] initialisation d'une Listbox
    Par kitsune dans le forum MFC
    Réponses: 6
    Dernier message: 15/11/2005, 14h26

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