Combobox dépendant de optionbutton

Bonjour ,

J'ai lancé une recherche mais je n'ai eu aucune réponse. Merci de m'aider à résoudre mon problème.

En effectuant des recherches via Google, je suis tombé sur un exemple qui se rapproche de mes attentes (lien dans le fichier joint).

Je voudrais récupérer via une combobox, 3 colonnes de mon tableau, cependant je voudrais que les données de la combobox soit dépendantes de 2 optionbutton.

je m'explique mon tableau est constitué de 4 colonnes, dont la première contient un type (A et B), donc en sélectionnant A

je voudrais que dans la combobox il n'y ait que les données correspondantes à A.

Je ne parviens pas à adapter à mes besoins.

J'espère avoir bien énoncé mon problème.

En vous remerciant par avance.

Bonjour,

Je ne parviens pas à adapter à mes besoins

Tu ne dois pas "garnir" ta Combobox dans la Sub UserForm_Initialize, mais dans une procédure événementielle associée au clic sur un des OptionButtons

Bonjour

Voila une réponse

Dim Sh As Object

Private Sub UserForm_Initialize()
  ComboBox1.ColumnCount = 3
  ComboBox1.ColumnWidths = "20;50;40"
  Set Sh = Feuil1
  Opt_A.Value = True
End Sub

Private Sub ComboBox1_Click()
  TextBox1.Value = ComboBox1.Column(0)
  TextBox2.Value = ComboBox1.Column(1)
  TextBox3.Value = ComboBox1.Column(2)
End Sub

Private Sub Opt_A_Click()
  With ComboBox1
    .Clear
    For L = 3 To Sh.Range("A" & Rows.Count).End(xlUp).Row
        If Sh.Cells(L, 1).Value = "A" Then
          .AddItem Sh.Cells(L, 1)
          .List(.ListCount - 1, 1) = Sh.Cells(L, 2)
          .List(.ListCount - 1, 2) = Sh.Cells(L, 3)
        End If
    Next
  End With
End Sub

Private Sub Opt_B_Click()
  With ComboBox1
    .Clear
    For L = 3 To Sh.Range("A" & Rows.Count).End(xlUp).Row
        If Sh.Cells(L, 1).Value = "B" Then
          .AddItem Sh.Cells(L, 1)
          .List(.ListCount - 1, 1) = Sh.Cells(L, 2)
          .List(.ListCount - 1, 2) = Sh.Cells(L, 3)
        End If
    Next
  End With
End Sub

A+

Maurice

Re-bonjour,

Bonjour archer,

On peut aussi supprimer la Sub UserForm_Initialize (le nombre de colonnes et leur largeur sont définies dans les propriétés) et se contenter d'ajouter:

Private Sub Opt_A_Click()
lister Opt_A.Caption
End Sub

Private Sub Opt_B_Click()
lister Opt_B.Caption
End Sub

Sub lister(leType As String)
Me.ComboBox1.Clear: Me.TextBox1 = "": Me.TextBox2 = "": Me.TextBox3 = "" 'mise à blanc
tablo = [Parametre] 'charger le tableau "Parametre" dans un tableau en mémoire
lig = 0
For i = 1 To UBound(tablo)
    If tablo(i, 1) = leType Then
        'quand le type correspond à l'optionButton sélectionné, ajouter la ligne à la liste
        Me.ComboBox1.AddItem (tablo(i, 1))
        Me.ComboBox1.List(lig, 1) = tablo(i, 2)
        Me.ComboBox1.List(lig, 2) = tablo(i, 3)
        lig = lig + 1
    End If
Next i
End Sub

U.Milité ,Archer

C'est impeccable, parfait. Je vais pouvoir poursuivre mon petit projet.

Très gentil de votre part, je pense pouvoir m'en sortir pour le reste.

Bon week-end

Bonjour

j'ais jouer un peux

A toi de voir

A+

Maurice

Bonjour

j'ais jouer un peux

A toi de voir

A+

Maurice

ComboBoxMultiColChoixCol - Copie.xls

Très gentil de ta part. 1000 Mercis.

Je croyais pouvoir avancer facilement mais je rencontre un problème.

Je vais ouvrir un autre fil.

à tantôt peut-être

Rechercher des sujets similaires à "combobox dependant optionbutton"