Combobox en cascade

tchou

XLDnaute Nouveau
Bonjour à tous,
Voilà mon problème,
par l'intermédiaire d'un combobox, je sélectionne la feuille que je veux visualiser dans le listbox.
je souhaite ajouter d'autres combobox pour affiner la selection mais je n'y arrive pas.
Merci d'avance pour votre aide
Est-ce que quelqu'un a une idée?
Voici mon code :

Private Sub CommandButton1_Click()
Dim nbLignes As Long, nbColonnes As Long
Dim I As Integer, J As Integer
Dim Largeur As Integer, Tablo()
Dim Formule As String

ReDim Tablo(0)
Sheets(ComboBox2.Text).Activate

nbLignes = Cells.Find("*", Range("A1"), , , xlByRows, xlPrevious).Row
nbColonnes = Cells.Find("*", Range("A1"), , , xlByColumns, xlPrevious).Column

Range(Cells(1, 1), Cells(nbLignes, nbColonnes)).Select
ListBox1.ColumnCount = nbColonnes
ListBox1.RowSource = Selection.Address



'ajuster la largeur des colonnes qui se calcule en Points
'J'ai mis *6, parce que le test semblait correct
'en VB6, on utiliserait Textwidth qui ne semble pas exister sous Excel
'ou ScaleMode, twips, pixels,....


'Vérification des largeurs maximales des colonnes
'On stocke la plus grande valeur de chaque colonne dans un Tableau
For I = 0 To ListBox1.ColumnCount - 1
For J = 0 To ListBox1.ListCount - 1
If Largeur < Len(ListBox1.List(J, I)) * 8 Then
Largeur = Len(ListBox1.List(J, I)) * 8
End If
Next
Tablo(UBound(Tablo)) = Largeur
ReDim Preserve Tablo(UBound(Tablo) + 1)
Largeur = 0
Next

'Avec ce tableau, on génère une formule pour "ColumnWidths"
For I = 0 To UBound(Tablo) - 1
Formule = Formule & Tablo(I) & ";"
Next
'enlever le dernier point-virgule de la chaîne
Formule = Left(Formule, Len(Formule) - Len(Chr(34)))

'ajuster les colonnes d'un coup
ListBox1.ColumnWidths = Formule
End Sub

Private Sub retour_Click()
Me.Hide
End Sub

Private Sub UserForm_Initialize()
' z = Sheets("matériel en stock").Range("A1").Value
ComboBox2.ColumnWidths = "200"
ComboBox2.ColumnCount = 5
ComboBox2.Clear
ComboBox2.AddItem "matériel en stock"
ComboBox2.AddItem "VHL en stock"
ComboBox2.AddItem "Données"
ComboBox2.AddItem "Clients"
ComboBox2.AddItem "DIVERS"

' ComboBox2.Column(3, I) = z
' ComboBox2.ListIndex = 0
ComboBox2.ListIndex = 0

End Sub
 
Dernière édition:

xhudi69

XLDnaute Accro
Re : Combobox en cascade

Re bonjouur, tchou, le Forum,

en PJ un fichier adapté selon l'excellent site de BOISGONTIER dont je t'avais donné le lien ci-dessus.

tu peux adapter ce fichier selon tes besoins.

@+
 

Pièces jointes

  • TCHOU_essais.xlsm
    49 KB · Affichages: 64

Discussions similaires

Réponses
11
Affichages
281

Statistiques des forums

Discussions
312 109
Messages
2 085 384
Membres
102 878
dernier inscrit
asmaa