Petit Problème de ComboBox

xhudi69

XLDnaute Accro
Bonsoir le Forum

En PJ un petit fichier issu du "Fabulutissime site de BOISGONTIER", que j'ai arrangé à ma sauce (qu'il me pardonne).
Sur l'UserForm, on selectionne avec le ComboBox1 la Famille et avec le ComboBox2 la sous Famille, vous remarquerez que tout se passe bien jusqu' la selection de "F1"; là il y a un souci.

Pourtant il y a "MC_LAREN en "H2", Si je mets en "H3" SAUBER", là c'est bon ?

Pouvez-vous m'expliquer cela.

Merci pour votre temps passé.

@+
 

Pièces jointes

  • XHUDI69_COMBOBOX_CASCADE_2_NIVEAUX.xlsm
    28.2 KB · Affichages: 59

kjin

XLDnaute Barbatruc
Re : Petit Problème de ComboBox

Bonsoir,
Code:
Private Sub ComboBox1_Change()
ComboBox2.Clear
If ComboBox1.ListIndex = -1 Then Exit Sub
With Sheets("liste1")
    a = ComboBox1.ListIndex
    x = Application.CountA(.Columns(a + 1)) - 1
    If x = 1 Then
        ComboBox2.AddItem .Cells(1, 1).Offset(x, a).Value
    Else
        ComboBox2.List = .Cells(1, 1).Offset(1, a).Resize(x, 1).Value
    End If
End With
End Sub
A+
kjin
 

xhudi69

XLDnaute Accro
Re : Petit Problème de ComboBox

Bonsoir Kjin, le Forum,

Un grand merci à toi, ta macro fonctionne très bien et cela vat beaucoup m'aider pour la suite, par contre; je ne comprends pas pourquoi ma macro ne fonctionne pas?.

Encore merci à toi et bonne soirée.
 

kjin

XLDnaute Barbatruc
Re : Petit Problème de ComboBox

Re,
comprends pas pourquoi ma macro ne fonctionne pas?.
Désolé, j'ai oublié...la tête dans le café
Extrait de l'aide VBA à dit:
List, propriété...
Utilisez List pour copier la totalité d'un tableau bidimensionnel de valeurs sur un contrôle. Utilisez AddItem pour charger un tableau unidimensionnel ou un élément particulier.
A+
kjin
 

Si...

XLDnaute Barbatruc
Re : Petit Problème de ComboBox

salut

avec une bonne utilisation de ".List" même Si... c'est plutôt intéressant avec plusieurs colonnes
Code:
Private Sub ComboBox1_Change()
  With Feuil1
    a = .Range("A1:Z1").Find(ComboBox1, , , xlWhole).Column
    l = Application.CountA(.Columns(a)) - 1
    ComboBox2 = ""
    ComboBox2.List = .Cells(2, a).Resize(l, 1).Value
    'autre possibilité 
     'ComboBox2.RowSource = "liste1!" & .Cells(2, a).Resize(l, 1).Address
  End With
End Sub
à noter que cela se complique quand l'appel se fait par un bouton situé hors de la feuille de données.
 

xhudi69

XLDnaute Accro
Re : Petit Problème de ComboBox

Re le Forum

@Kjin : effectivement, 1 élément = AddItem j'aurais du percuter, merci à toi et bon Café :cool:

@Si... : merci beaucoup pour ton code, je vais me penché dessus et faire mes essais.

Un grand Merci à vous deux c'est Vraiment super !

@+
 

laetitia90

XLDnaute Barbatruc
Re : Petit Problème de ComboBox

bonjour tous :):)
sans passer par gestionnaire des noms seulement avec .list

code user

Code:
  Dim y As Long
Private Sub ComboBox1_Change()
 ComboBox2 = ""
 y = Feuil1.Cells(Rows.Count, ComboBox1.ListIndex + 1).End(xlUp).Row
 ComboBox2.List = Feuil1.Cells(2, ComboBox1.ListIndex + 1).Resize(y).Value
End Sub
Private Sub ComboBox1_DropButtonClick()
 ComboBox1.List = Application.Transpose(Feuil1.[a1:h1])
End Sub
 

xhudi69

XLDnaute Accro
Re : Petit Problème de ComboBox

Bonsoir le Forum
Bonsoir laetitia90:eek: , Kjin et Si...

@laetitia90: ton code fonctionne à première vue et je t'en remercie, c'est super d'avoir rejoint le fil.

Cela me facilite bien la tâche, car avec plusieurs saisies sur un UserForm, il est bien utile de rester sur celui-ci et de s'affranchir des listes nommées.

Encore un grand merci à vous tous, c'est sympa. :cool:

@+
 

Discussions similaires

Statistiques des forums

Discussions
312 111
Messages
2 085 407
Membres
102 884
dernier inscrit
Macarena