Userform

Résolu
Salut les amis
Je vous expose mes difficultés. dans mon fichier excel j'ai un tableau que j'ai nommé "périodes" et qui comporte 2 colonnes ; 1ère colonne n° 1 à 7 puis colonne 2 périodes scolaires.
J'ai également une userform dans la quelle j'ai une combobox13 qui par un ménu déroulant me donne les les n+ souhaité ainsi qu'une textebx1. C'est dans celle-c- que je souhaiterai qu'apparaisse les périodes en fonction du N° inscrit en combobox13.
J'espère avoir été suffisamment clair. Je reste à votre disposition.
Merci pour votre soutien
Cdlt

5 réponses

  1. merci Cs_Le Pivert. Ce site est très intéressants et claires. Néanmoins, ma difficulté demeure.
    Rappel
    J'ai un tableau nommé "Périodes" dans une feuille "Constantes" et qui comprend 2 colonnes
    colonne A = 1,2,3,4,5,6
    Colonne B = Libellé des périodes scolaires

    Combobox13 = menu déroulant à partir de la colonne A
    textbox1 = je voudrais que les libelles du tableau colonne B apparaissent aussitôt dans mon userform

    Voici le code que j'ai écrit :
    Private Sub ComboBox13_Change()
    Dim t As Single
    t = Application.WorksheetFunction.VLookup(ComboBox13.Value, Sheets("Constantes").Range("Périodes"), 2, 0)
    TextBox1.Value = t
    End Sub

    Et ça ne marche pas, pourquoi ?
    Merci de m'aider
    0
    1. Bonjour
      sans modèle de ton fichier dur de faire des correction
      je pense a un truc comme ca
      Private Sub ComboBox13_Change()
         TextBox1.Value = Sheets("Constantes").Range("B" & ComboBox13.ListIndex + 2).Value
      End Sub
      

      A+
      Maurice
      0
      1. Contributeur
        Comme ceci:

        Option Explicit
        Dim i As Integer
        Private Sub ComboBox1_Change() 'adapter nom combo
        i = ComboBox1.Value
        Range("A" & i).Select
        TextBox1 = Selection.Offset(0, 1).Value 'cellule à droite
        End Sub
        Private Sub UserForm_Initialize()
        Dim j As Integer
            
            'Récupère les données de la colonne A...
            For j = 1 To Range("A65536").End(xlUp).Row
                ComboBox1 = Range("A" & j)
                '...et filtre les doublons
                If ComboBox1.ListIndex = -1 Then ComboBox1.AddItem Range("A" & j)
            Next j
        ComboBox1.ListIndex = 0
        End Sub
        

        0
        1. merci à cs-Le Pivert et Maurice
          C'est super ça marche bien. Je suis heureux
          A+
          Cordialement
          0