Adresse d'une colonne pour combobox en cascade

Bonjour,

Mon premier combobox contient des catégories et le deuxième, dépendant du 1er combobox, devrait contenir les sous catégories.

la Dlig devrait s'insérer dans la ligne SC = Range(Cells(2, Col), Cells(Dlig, Col)).Value

sauf que la ligne code permettant de trouver DLIg m'est inconnue dans ce cas.

Comment puis-je faire autrement?

P

rivate Sub ComboBox1_Change()
Dim Col, Dlig As Integer
' recherche de la plage des sous catégories
Col = Range("G:I").Find(what:=Me.ComboBox1, LookAt:=xlWhole).Column
'Dlig = Range(........& Rows.Count).End(xlUp).Row

SC = Range(Cells(2, Col), Cells(5, Col)).Value
Me.ComboBox2.List = SC
End Sub
Private Sub UserForm_initialize()
Dim C
Me.ComboBox1 = Clear
Me.ComboBox2 = Clear
C = [G1:I1].Value
Me.ComboBox1.List = Application.Transpose(C)
End Sub

Merci pour le coup de main.

ddetp

43comboboxlist.xlsm (16.16 Ko)

Bonjour

A vérifier

Bonjour Banzai,

Vérifié et approuvé

Une formulation que je découvre avec plaisir.

Merci

ddept

Re,

Je reviens vers toi car je viens de solutionner une erreur dans le code du combobox1_change. J'ai solutionner l'erreur d'une manière peu élégante.

Je me demandais si on ne pouvait pas faire mieux.

Pour voir l'erreur, reprends le fichier. Si dans la catégorie Viande , tu supprimes la sous-catégorie agneau. A présent, en sélectionnant la catégorie Viande un message d'erreur apparait.

"Impossible de définir la propriété liste.index de table de propriétés non valide"

J'ai solutionné comme suis.

Private Sub ComboBox1_Change()
Dim Col, Dlig As Integer
  Me.ComboBox2.Clear
  ' recherche de la plage des sous catégories
  Col = Range("G:I").Find(what:=Me.ComboBox1, LookAt:=xlWhole).Column
  Dlig = Cells(Rows.Count, Col).End(xlUp).Row
    If Dlig < 2 Then
        MsgBox "Pas encore de sous-catégorie pour la catégorie: " & Me.ComboBox1.Value
    ElseIf Dlig = 2 Then
        Me.ComboBox2.AddItem Cells(2, Col).Value
    Else
        SC = Range(Cells(2, Col), Cells(Dlig, Col)).Value
        Me.ComboBox2.List = SC
    End If
End Sub

Aurais-tu une solution plus avertie?

Merci

ddetp

Rechercher des sujets similaires à "adresse colonne combobox cascade"