Bonjour à tous du forum,
j'essaie de développer un listview que pour chaque date est affichée une autre couleur
et que dans la 3e colonne figure le format # ###,00
J'utilise le code suivant mais ne fonctionne pas, comme avec les variables je ne comprends pas trop.
Est-ce qu'il n'y a pas un vba code plus facile que d'indiquer pour chaque case :
Private Sub Sub UserForm_Initialize()
Dim t As Byte, x As Byte, j As Byte
Dim c As Range
Dim couleur As Long
With Me.ListView05
.ListItems.Clear
For Each c In Sheets("dépenses").Range("a3:a" & Range("a65536").End(xlUp).Row)
x = x + 1
Select Case c.Offset(0, 1)
Case DateIs = Sheets("ref.").Range("A3").Value '=01/10/2009
couleur = vbRed
Case DateIs > Sheets("ref.").Range("A4").Value '=02/10/2009
couleur = vbGreen
Case DateIs > Sheets("ref.").Range("A5").Value '=03/10/2009
couleur = vbYellow
...
End Select
.ListItems.Add , , c
.ListItems(x).ForeColor = couleur
For j = 1 To 3
.ListItems(x).ListSubItems.Add , , c.Offset(0, j)
'.ListItems(x).ListSubItems(j).ForeColor = c.Offset(0, j).Font.Color
.ListItems(x).ListSubItems(j).ForeColor = couleur
Next j
Next c
End With
End Sub
merci d'astuces éventuels
j'essaie de développer un listview que pour chaque date est affichée une autre couleur
et que dans la 3e colonne figure le format # ###,00
J'utilise le code suivant mais ne fonctionne pas, comme avec les variables je ne comprends pas trop.
Est-ce qu'il n'y a pas un vba code plus facile que d'indiquer pour chaque case :
Private Sub Sub UserForm_Initialize()
Dim t As Byte, x As Byte, j As Byte
Dim c As Range
Dim couleur As Long
With Me.ListView05
.ListItems.Clear
For Each c In Sheets("dépenses").Range("a3:a" & Range("a65536").End(xlUp).Row)
x = x + 1
Select Case c.Offset(0, 1)
Case DateIs = Sheets("ref.").Range("A3").Value '=01/10/2009
couleur = vbRed
Case DateIs > Sheets("ref.").Range("A4").Value '=02/10/2009
couleur = vbGreen
Case DateIs > Sheets("ref.").Range("A5").Value '=03/10/2009
couleur = vbYellow
...
End Select
.ListItems.Add , , c
.ListItems(x).ForeColor = couleur
For j = 1 To 3
.ListItems(x).ListSubItems.Add , , c.Offset(0, j)
'.ListItems(x).ListSubItems(j).ForeColor = c.Offset(0, j).Font.Color
.ListItems(x).ListSubItems(j).ForeColor = couleur
Next j
Next c
End With
End Sub
merci d'astuces éventuels
Pièces jointes
Dernière édition: