Multiselection avec combobox dans userform

Bonjour
j'ai crée en m'inspirant de différents codes trouvés sur le web un début de gestion de stock.
je peux gérer un article mais je voudrais pouvoir effectuer une multi sélection à partir de la combobox list
Cette liste a été créée à partir d'une feuille
je voudrais en même temps récupérer les valeurs figurant sur cette feuille et correspondant
à ma sélection dans une textbox
exemple : je sélectionne "fourchettes", j'ai fourchettes qui s'inscrit dans une textbox et "100" qui s'inscrit dans une autre textbox, ce nombre correspondant à la valeur figurant dans la feuille dans la ligne "fourchettes".
j'ai conscience qu'il me faudrait un index qui je ne sais pas trop comment m'y prendre
Pourriez vous m'aider
merci

je voudrais vous envoyer mon fichier mais je ne sais pas comment m'y prendre

9 réponses

  1. Bonjour
    sans voir ton modele ses pas simple
    mes voila le code qui doit le faire

    Private Sub UserForm_Initialize()
    With Feuil1
    Me.ComboBox1.Clear
    For L = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
    ComboBox1.AddItem .Cells(L, 1)
    Next
    End With
    End Sub

    Private Sub ComboBox1_Change()
    TextBox1.Value = ComboBox1.Value
    Ref = Feuil1.Cells(ComboBox1.ListIndex + 2, 2).Value
    TextBox2.Value = Ref
    End Sub
    A+
    Maurice
    0
    1. re
      Modification Reservation

      et on suprime la ligne 1 dans la feuile Stockvais

      Private Sub UserForm_Initialize()
      Dim lig As Long
      ComboBox1.Clear
      With Sheets(Feuil2.Name)
      For lig = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
      ComboBox1.AddItem .Cells(lig, 1)
      Next lig
      End With
      ComboBox2.Clear
      With Sheets(Feuil3.Name)
      For lig = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
      ComboBox2.AddItem .Cells(lig, 1)
      Next lig
      End With
      End Sub

      Private Sub ComboBox1_Change()
      Ligne = ComboBox1.ListIndex + 2
      TextBox1 = Sheets(Feuil2.Name).Cells(Ligne, 4)
      End Sub

      Private Sub Combobox2_Change()
      Ligne = ComboBox2.ListIndex + 2
      TextBox2 = Sheets(Feuil3.Name).Cells(Ligne, 4)
      End Sub

      Private Sub CommandButton2_Click()
      Unload Me
      Sheets(Feuil1.Name).Select
      End Sub

      A+
      Maurice
      0
      1. Bonsoir Maurice,

        Ai mis ton code dans Reservation. Le code est nettement plus clair et ça fonctionne parfaitement. Merci baucoup.

        Mon problème est surtout au niveau de mon userform1

        j'ai disons 3 articles ou plus à sortir et je voudrais qu'en selectionnant ces 3 articles ou plus les noms apparaissent dans les différentes textboxes ainsi que le stock correspondant à chaque article. Ces enregistrements se trouvant dans la feuille2 "stockvais".
        par exemple : je selectionne cuillers le nom cuillers apparait dans la première textbox et le stock de cuillers dans la 2ème textbox.
        En suite je selectionne assiettes le nom assiettes apparait dans la 3ème text box et le stock dans la 4ème textbox.
        Bien sûr je peux ajouter d'autres textbox dans mon userform

        est ce que c'est possible ?

        merci

        https://www.cjoint.com/?DIpsqn5jdiR
        0
        1. re

          je pense a un truc comme ca
          a toi de voir userform2

          bon je vais aller faire dodo

          http://cjoint.com/?3Ipvv0TnKYp

          A+
          Maurice
          0
          1. Désolé Maurice le lien https://www.cjoint.com/?3Ipvv0TnKYp

            ne fonctionne pas . Il apparaît en noir sur ta réponse au lieu de bleu

            Bon dodo :)
            0
            1. eh bien en ajoutant le lien dans ma réponse il est devenu bleu .... de peur...
              et je peux m'y connecter

              Re bon dodo maurice
              0
          2. Me revoilà Maurice avant d'aller au dodo aussi
            le userform2 est ce que j'attends
            j'ai voulu rajouter deux combobox et lorsque je les utilise
            l'index ne fonctionne pas comme il faut
            au lieu d'avoir la donnée sélectionnée dans la combobox j'ai celle qui se situe
            au-dessus

            https://www.cjoint.com/c/DIqaA4uy3d9

            merci
            0
            1. bonjour

              il faut se coucher plus tot HI

              bon dans Private Sub ComboBox4_Change()
              mettre la meme combobox
              Ligne = ComboBox4.ListIndex + 2
              et
              Private Sub ComboBox5_Change()
              Ligne = ComboBox5.ListIndex + 2

              A+
              Maurice
              0
              1. oui Maurice tu as raison il faut se coucher plus tôt
                pour avoir l'esprit plus clair le lendemain et ne pas t'embêter
                inutilement
                La réponse me crevait les yeux

                Merci Maurice

                @+
                0