Remplissage Combobox1

BENAM69

XLDnaute Occasionnel
Bonjour le forum,

J'ai essayé plusieurs solutions mais je n'y arrive pas.

J'essaye simplement de remplir ma combobox1 si on clique sur Optionbutton1. Les données du combobox1 sont prisent sur la feuille 2 du classeur.

Exemple : Si je clique sur OptionButton1 alors les données dans la combobox1 sont celles de la colonne 1, de la feuille 2 du classeur en démarrant de la 2ème ligne.
Si je clique sur OptionButton2 alors les données dans la combobox1 sont celles de la colonne 2, de la feuille 2 du classeur en démarrant de la 2ème ligne.
et ainsi de suite ...

Mon code semble ok mais je ne sais pas ce qu'il cloche.

VB:
Private Sub ComboBox1_Change()
Dim ComboBox1 As Long
Dim i As Integer 'Pour lignes
    
If OptionButton1 = True Then
    ComboBox1 = Sheets("Feuil2").Range("A50").End(xlUp).Row 'Variable = denière ligne non vide
    For i = 2 To ComboBox1 'Démarrage ligne 2 vers la dernière non vide
    Me.ComboBox1.AddItem Cells(i, 1) 'Ajouter en Comboxbox1 la liste
    Next
End If
End Sub

Si quelqu'un connait la solution à mon problème, je suis preneur.

Merci de votre aide.

En PJ le fichier.
PS : Pour faire apparaître l'userform il suffit de mettre NOK sur n'importe quelle cellule de la feuille 1.

Merci à vous

Benam
 

Pièces jointes

  • Test Niveau 2v2.xlsb
    21.4 KB · Affichages: 5

youky(BJ)

XLDnaute Barbatruc
Bonsoir,
Voici tout le code de l'userform
Bruno
VB:
Private Sub ComboBox1_Change()
End Sub

Private Sub CommandButton1_Click()
Call EnvoiMail
End Sub

Private Sub OptionButton1_Click()
ComboBox1.List = Feuil2.Range("A2:A" & Feuil2.[A65000].End(3).Row).Value
End Sub
Private Sub OptionButton2_Click()
ComboBox1.List = Feuil2.Range("B2:B" & Feuil2.[B65000].End(3).Row).Value
End Sub
Private Sub OptionButton3_Click()
ComboBox1.List = Feuil2.Range("C2:C" & Feuil2.[C65000].End(3).Row).Value
End Sub
Private Sub OptionButton4_Click()
ComboBox1.List = Feuil2.Range("D2:D" & Feuil2.[D65000].End(3).Row).Value
End Sub
Private Sub OptionButton5_Click()
ComboBox1.List = Feuil2.Range("E2:E" & Feuil2.[E65000].End(3).Row).Value
End Sub
 

job75

XLDnaute Barbatruc
Bonjour BENAM69, Bruno,

Avec une macro paramétrée :
VB:
Private Sub OptionButton1_Click(): Liste 1: End Sub

Private Sub OptionButton2_Click(): Liste 2: End Sub

Private Sub OptionButton3_Click(): Liste 3: End Sub

Private Sub OptionButton4_Click(): Liste 4: End Sub

Private Sub OptionButton5_Click(): Liste 5: End Sub

Sub Liste(n)
With Sheets("Feuil2").[A1].CurrentRegion.Columns(n).Offset(1) 'nom de la feuille à adapter
    If Application.CountA(.Cells) = 0 Then Exit Sub
    ComboBox1.List = .Resize(Application.CountA(.Cells), 2).Value 'plage de 2 colonnes pour avoir toujours au moins 2 éléments
    ComboBox1.DropDown
End With
End Sub
A+
 

Discussions similaires

Réponses
8
Affichages
227
Réponses
6
Affichages
240

Statistiques des forums

Discussions
312 206
Messages
2 086 207
Membres
103 158
dernier inscrit
laufin