Colorier Lignes d'une listbox
Invité
Bonjour,
Je n'arrive pas à colorier toutes les lignes de ma listbox.
J'arrive uniquement à colorier la première colonne avec le code suivant :
Option Explicit
Sub afficher()
UserForm1.Show
End Sub
Sub AlimenteListview()
Dim i As Integer, j
Dim MonTab As Variant
Dim sh As Worksheet
Set sh = Sheets("Feuil1") 'Nom de la feuille d'inventaire
Dim Item As ListItem
Dim Couleur As Variant
Dim MonCritere As Variant
MonTab = sh.Range("A2:I" & sh.Range("G" & Rows.Count).End(xlUp).Row) 'Récupère les lignes de la colonne A a I en ce basant sur le remplissage de la colonne G
'Remplissage de la listview
With UserForm1
.ListView1.ListItems.Clear
For i = 1 To UBound(MonTab, 1)
MonCritere = Format(Feuil1.Cells(i, 7), "# ##0")
Select Case MonCritere
Case Is >= 100
Couleur = &HFF00&
Case 51 To 99
Couleur = &H80FF&
Case Is <= 50
Couleur = &HFF&
End Select
.ListView1.ListItems.Add , , MonTab(i, 1)
.ListView1.ListItems(i).ForeColor = Couleur
For j = 2 To 9
.ListView1.ListItems(.ListView1.ListItems.Count).ListSubItems.Add , , MonTab(i, j)
Next j
Next i
End With
End SubAvez-vous une idée de comment je peux modifier pour colorier chaques lignes en fonction de mes conditions ?
Merci
Bonjour Lucass, bonjour le forum,
le titre de ton fil est erroné. Tu veux colorier une ligne d'un ListViewet pas d'une ListBox.
Perso je n'utilise jamais ce type de contrôle (car il n'est pas accessible à tous par défaut). Je ne pourrai donc pas t'aider sur le coup...
Invité
Finalement j'ai résolu mon problème comme ça :
Next j
.ListView1.ListItems(i).ForeColor = Couleur
.ListView1.ListItems(i).ListSubItems(1).ForeColor = Couleur
.ListView1.ListItems(i).ListSubItems(2).ForeColor = Couleur
.ListView1.ListItems(i).ListSubItems(3).ForeColor = Couleur
.ListView1.ListItems(i).ListSubItems(4).ForeColor = Couleur
.ListView1.ListItems(i).ListSubItems(5).ForeColor = Couleur
.ListView1.ListItems(i).ListSubItems(6).ForeColor = Couleur
.ListView1.ListItems(i).ListSubItems(7).ForeColor = Couleur
.ListView1.ListItems(i).ListSubItems(8).ForeColor = Couleur
Next i