données dans listbox multicolonne
Bonjour à tous,
J'essaie actuellement de créer une listebox multicolonne. J'ai pompé une méthode sur un tutoriel du site qui présente un exemple de remplissage des colonnes "cumulatifs". Or moi je veux assigner des valeurs particulières à chaque colonnes. Je poste ce que j'ai écrit et le tuto que j'ai essayé d'adapter. Mon code ne fonctionne pas si vous avez des idées je suis preneur. Merci
Voilà le tuto :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| Private Sub UserForm_Initialize()
Dim i As Byte, j As Byte
'Définit le nombre de colonnes dans la ListBox
ListBox1.ColumnCount = 7
'---
'Définit la largeur des colonnes d'une ListBox:
'Par défaut, la largeur des colonnes est de 72 points
'(72 points = 1 pouce)
ListBox1.ColumnWidths = "50;80;50;60;50;70;50"
'---
'Il est aussi possible de définir la dimension des colonnes en centimètres
'ListBox1.ColumnWidths = "2 cm; 1,5 cm ......"
'---
'---
For i = 1 To 20
'Ajoute une ligne et insère une donnée dans la colonne de gauche
ListBox1.AddItem "Ligne" & i
'Ajoute des données dans les colonnes de droite
For j = 1 To 7
ListBox1.List(ListBox1.ListCount - 1, j) = i & j
Next j
Next i
End Sub |
Et voici mon adaptation à mon problème.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| Private Sub UserForm_Click()
Dim W As Integer
Set Flcd = ThisWorkbook.Worksheets("CC2012")
'Définit le nombre de colonnes dans la ListBox
ListBox1.ColumnCount = 4
'---
'Définit la largeur des colonnes d'une ListBox:
'Par défaut, la largeur des colonnes est de 72 points
'(72 points = 1 pouce)
ListBox1.ColumnWidths = "50;30;60;60"
'---
'Il est aussi possible de définir la dimension des colonnes en centimètres
'ListBox1.ColumnWidths = "2 cm; 1,5 cm ......"
Flcd.Activate
For W = 4 To Flcd.Range("A" & Flcd.Rows.Count).End(xlUp).Row
ListBox1.AddItem Flcd.Cells(W, 1)
ListBox1.List(ListBox1.ListCount - 1, 2) = Flcd.Cells(W, 6)
ListBox1.List(ListBox1.ListCount - 1, 3) = Flcd.Cells(W, 7)
ListBox1.List(ListBox1.ListCount - 1, 4) = Flcd.Cells(W, 8)
Next W
End Sub |
Je ne suis pas sur de
Code:
1 2 3
| ListBox1.List(ListBox1.ListCount - 1, 2) = Flcd.Cells(W, 6)
ListBox1.List(ListBox1.ListCount - 1, 3) = Flcd.Cells(W, 7)
ListBox1.List(ListBox1.ListCount - 1, 4) = Flcd.Cells(W, 8) |
pour remplir les colonnes.
Pour l'instant le résultat c'est une listebox vide...