Listebox sous visualbasic excel

Résolu
listebox sous visualbasic excel
Bonjour,
Je souhaite réaliser une liste box à l'aide d'un userform excel.

J'ai besoin que l'utilisateur de ma macro puisse choisir parmi une liste d'option avant d'exécuter ma macro.

Ma listebox doit présenter les options sous la forme :
option 1
option 2
option 3
option 4
option 5
une variable de sortie utilisera le contenu de la ligne (option x) pour exécuter la macro.
Est ce que quelqu'un aurait des piste sur la manière de procéder ... pour l'instant je n'ai réussi qu'à "coller" une listebox dans un userform ... pour la syntaxe je n'ai pas trouvé d'exemple ...
Merci

11 réponses

  1. Merci les gars :-)

    Les derniers problèmes que j'ai eu ont en effet été :
    "variable Public" pour faire communiquer les variables entre l'userform et les macro de module
    et
    "Unload Me" pour fermer l'userform

    Meeeeerrrrrrrcccccccciiiiiiiiiiiiiiiii :-)
    Ma macro marche et elle est trop belle. Bonne soirée.
    0
    1. Re,
      Bien repondu, il faudra penser a declarer la variable Public pour pouvoir l'utiliser en "dehors" de l'UserForm.

      Bonjour lermite
      Lecture critere filtre 2007/2010:
      Filtre sur date--->normal qu'il n'y ait pas de criteria1 et criteria2 devient un tableau non lisible. J'ai ete voir du cote des US, meme eusse n'ont pas trouve de solution.
      Je continue a chercher de temps en temps, des fois qu'il en ait un plus fous que les autres.
      0
      1. Contributeur
        Re Fxx :-D
        Oui, moi aussi j'avais été voir du côté des US, mais ont sais jamais, tu aurais pu avoir une idée de recherche différente.
        Dans MSDN y a rien à ce sujet quelque soit le critère de recherche.
        La seule chose que j'ai trouvé c'est que c'est un Variable (objet)
        Mais quand j'essaye de mémoriser Critéria2 dans un Variant ou Object Et que je renvoi le filtre avec cet objet... J'ai du éteindre et rallumer le PC... Blocage critique ?????
        Tant pis.
        Je te remercie.
        Cdlt.
        0
      2. Re,
        J'ai aussi teste en variable ou objet, mais cela ne me sortait qu'en erreur 1004. Je regarderai de temps en temps si une idee me venait, on ne sait jamais
        0
    2. La variable sera utiliser dans un "module" :

      Sub macro1
      bla bla bla ...
      Select Case
      Case Variable_de_Sortie = Option_1 ...
      Case Variable_de_Sortie = Option_2 ...
      Case Variable_de_Sortie = Option_3 ...
      End Select
      End sub

      Apparemment le Userform est dans une "feuille" (c'est ce que m'indique l'arborescence du projet VBA). J'ai bien répondu à ta question? Je ne suis pas sure d'avoir compris ton "sera utilisée où"?
      0
      1. Contributeur
        Bonjour,
        Bonjour f894009.
        Un exemple qui pourrait servir !
        A+
        0
        1. Merrrrcccciiiiiiiii

          Exemple a étudier :-) il y a trop pleins de bonne idées dedans

          Merci encore
          0
      2. Bonjour,

        Oui, mais ce code sera dans l'UserForm est la variable sera utilisee ou??
        0
        1. Pour récupérer mon choix??
          Je ne sais pas trop...

          J'imagine un :
          ' Variable_de_Sortie = ListBox1.Text '

          Puis pour executer ma macro, un :
          'Select Case

          Case Variable_de_Sortie = Option_1 ...
          Case Variable_de_Sortie = Option_2 ...
          Case Variable_de_Sortie = Option_3 ...

          End Select

          Qu'en pensez vous?
          Merci.
          0
          1. Re,

            Le code doit etre dans le VBA de l'UserForm

            Private Sub UserForm_Initialize()
            Dim Liste_Option As Variant
            Liste_Option = Array("Option 1", "Option 2", "Option 3", "Option 4")
            For x = 0 To 3
            ListBox1.AddItem Liste_Option(x)
            Next x
            End Sub

            Et vous recuperez votre choix comment????????
            0
            1. Re merci :-)
              Alors pour afficher mon UserForm, j'ai trouvé :
              UserForm1.Show

              (Mon UserForm est inclus à l'interieur d'une macro ... j'avais juste besoin d'une listebox pour pouvoir choisir parmis 5 options ... )

              Par contre, je n'ai pas réussi à faire afficher les
              'option 1
              option 2
              option 3
              option 4 '

              En faite, je ne suis pas sure d'avoir collé les : ...
              '
              Dim Liste_Option As Variant
              Liste_Option = Array("Option 1", "Option 2", "Option 3", "Option 4")
              For x = 0 To 3
              ListBox1.AddItem Liste_Option(x)
              Next x
              '
              ... au bon endroit.
              0
              1. Re,
                Vous voulez que votre UserForm s'ouvre a quel moment:

                a l'ouverture du fichier EXCEL, en cliquant sur un bouton sur une feuille ?????
                0
                1. Cool. Merci

                  Et Comment je fais pour appeler mon userform?
                  Je fais un :
                  'Call listebox1 '
                  à partir de ma macro principale?? (oui je sais, je suis un boulet... merci)
                  0
                  1. Bonjour,

                    'Remplir la ListBox
                    Dim Liste_Option As Variant

                    Liste_Option = Array("Option 1", "Option 2", "Option 3", "Option 4")
                    For x = 0 To 3
                    ListBox1.AddItem Liste_Option(x)
                    Next x

                    'information ListBox1.Text pour recupere le texte choisi, ListBox1.Index pour recuperer l'index de la liste (part de 0)

                    Bonne suite
                    0