Bonjour a vous tous, Merci d'avance.
Cella dois vous paraître simple, je dois remplir une listview avce 4 combobox !
je dois démarrer le code avec un bouton.
Pour info: voici le code qui rempli un autre listview via une feuille .
Dim i As Long, x As Long, K As Byte
With ListView1
'Entête
With .ColumnHeaders
.Clear
.Add , , "Matières", 70 'titre de la colonne et largeur et alignement
.Add , , "Type", 50
.Add , , "Imprimés et Couleurs", 75, lvwColumnCenter
.Add , , "Prix", 40
.Add , , "", 5
.Add , , "", 5
.Add , , "", 5, lvwColumnRight
.Add , , "", 5, lvwColumnRight
.Add , , "", 5, lvwColumnRight
End With
.View = lvwReport
.FullRowSelect = True
.Gridlines = True
' Chargement des données
For i = 2 To Sheets("Db").Range("B65536").End(xlUp).Row
.ListItems.Add , "K" & i, Sheets("Db").Cells(i, 1) '1ère Colonne
.ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Db").Cells(i, 2) '2ème Colonne
.ListItems(.ListItems.Count).ListSubItems.Add , , Format(Sheets("Db").Cells(i, 3), "dd/mm/yyyy") '3ème Colonne
For K = 3 To 5
.ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Db").Cells(i, K + 1) 'Colonne 4 à 6
Next
.ListItems(.ListItems.Count).ListSubItems.Add , , Format(Sheets("Db").Cells(i, 7), "# ##0.00 €") '7èmè Colonne
.ListItems(.ListItems.Count).ListSubItems.Add , , Format(Sheets("Db").Cells(i, 8), "# ##0.00 €") '8èmè Colonne
.ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Db").Cells(i, 9) '9 èmè Colonne
Next
' mise en couleur (bleu) des données si colonne A il y a un X
For x = 1 To .ListItems.Count
If .ListItems(x) = UCase("P") Then
.ListItems(x).ForeColor = &HFF0000
For J = 1 To 8
.ListItems(x).ListSubItems(J).ForeColor = &HFF0000
Next
End If
Next
' Nom des Labels
For K = 1 To 9
Controls("Label" & K).Caption = ListView1.ColumnHeaders(K)
Next
.ListItems(1).Selected = False
End With
Si vous avez un petit code quelque part, je suis preneur!
Bonne journée a vous tous. Gérald
Cella dois vous paraître simple, je dois remplir une listview avce 4 combobox !
je dois démarrer le code avec un bouton.
Pour info: voici le code qui rempli un autre listview via une feuille .
Dim i As Long, x As Long, K As Byte
With ListView1
'Entête
With .ColumnHeaders
.Clear
.Add , , "Matières", 70 'titre de la colonne et largeur et alignement
.Add , , "Type", 50
.Add , , "Imprimés et Couleurs", 75, lvwColumnCenter
.Add , , "Prix", 40
.Add , , "", 5
.Add , , "", 5
.Add , , "", 5, lvwColumnRight
.Add , , "", 5, lvwColumnRight
.Add , , "", 5, lvwColumnRight
End With
.View = lvwReport
.FullRowSelect = True
.Gridlines = True
' Chargement des données
For i = 2 To Sheets("Db").Range("B65536").End(xlUp).Row
.ListItems.Add , "K" & i, Sheets("Db").Cells(i, 1) '1ère Colonne
.ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Db").Cells(i, 2) '2ème Colonne
.ListItems(.ListItems.Count).ListSubItems.Add , , Format(Sheets("Db").Cells(i, 3), "dd/mm/yyyy") '3ème Colonne
For K = 3 To 5
.ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Db").Cells(i, K + 1) 'Colonne 4 à 6
Next
.ListItems(.ListItems.Count).ListSubItems.Add , , Format(Sheets("Db").Cells(i, 7), "# ##0.00 €") '7èmè Colonne
.ListItems(.ListItems.Count).ListSubItems.Add , , Format(Sheets("Db").Cells(i, 8), "# ##0.00 €") '8èmè Colonne
.ListItems(.ListItems.Count).ListSubItems.Add , , Sheets("Db").Cells(i, 9) '9 èmè Colonne
Next
' mise en couleur (bleu) des données si colonne A il y a un X
For x = 1 To .ListItems.Count
If .ListItems(x) = UCase("P") Then
.ListItems(x).ForeColor = &HFF0000
For J = 1 To 8
.ListItems(x).ListSubItems(J).ForeColor = &HFF0000
Next
End If
Next
' Nom des Labels
For K = 1 To 9
Controls("Label" & K).Caption = ListView1.ColumnHeaders(K)
Next
.ListItems(1).Selected = False
End With
Si vous avez un petit code quelque part, je suis preneur!
Bonne journée a vous tous. Gérald
Dernière édition: