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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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...