Listview coloré selon Valeur

keepcool183

XLDnaute Occasionnel
Bonjour à tous :),

J'ai trouvé sur le forum un fichier avec une listview coloré.

En fait ce que j'aimerais faire c'est coloré la ligne selon la valeur de la collone D par rapport aux critères en collonne F.

Genre : rouge, vert et jaune :).

Mais j'ai beau triturer le code je n'y arrive pas et j'ai lu quelque message sur le forum comme quoi ce n'était pas possible.

En PJ le fichier avec les explications :)

Merci à ceux qui prendrons le temps de me lire ;)
 

Pièces jointes

  • listviewColoré.zip
    27.8 KB · Affichages: 130
  • listviewColoré.zip
    27.8 KB · Affichages: 132
  • listviewColoré.zip
    27.8 KB · Affichages: 130

jp14

XLDnaute Barbatruc
Re : Listview coloré selon Valeur

Bonjour

Ci dessous un code à tester
Code:
Private Sub UserForm_Initialize()
Dim t As Byte, x As Byte, j As Byte
Dim c As Range
Dim couleur As Long

'on remplit les entetes de colonnes de la listview
With Me.ListView1
    With .ColumnHeaders
        For t = 1 To 4
            .Add , , Cells(2, t), 65
        Next t
    End With
End With

'on remplit la listview
With Me.ListView1
.ListItems.Clear
    For Each c In Range("a3:a" & Range("a65536").End(xlUp).Row)
        x = x + 1
        Select Case c.Offset(0, 3)
            Case Is > 15
                couleur = vbRed
            Case Is > 10
                couleur = vbGreen
            Case Is > 5
                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


JP
 

keepcool183

XLDnaute Occasionnel
Re : Listview coloré selon Valeur

Bonjour jp14,

Le code marche nickel pour les couleurs de police mais ce que j'aimerais faire c'est colorier l'arriere plan.

J'ai essayé en remplaçant ForeColor par BackColor mais ça ne marche pas (?).

Ce n'est peut être pas la bonne syntaxe.

Merci à toi ;)
 

keepcool183

XLDnaute Occasionnel
Re : Listview coloré selon Valeur

Re,

J'ai trouvé une solution provisoire (enfin qui marche pas mal quand même) en mettant la listview.backcolor à Noir pour mieux voir les couleurs des polices :).

Mais est il possible de colorier chaque ligne selon les conditions ?
 

Gael

XLDnaute Barbatruc
Re : Listview coloré selon Valeur

Bonjour à tous,

A ma connaissance, on peut mettre une couleur de fond pour la listview et modifier ligne à ligne les couleurs de police mais il n'y a pas d'option pour changer la couleur de fond ligne à ligne.

Mais Excel recèle tellement de subtilités mal connues qu'on ne sait jamais...:)

@+

Gael
 

keepcool183

XLDnaute Occasionnel
Re : Listview coloré selon Valeur

Bonjour Gael,

Je me doutais bien qu'après avoir lu plein de commentaire disant que c'était relativement impossible (sauf si c'est un Barbatruc :D) c'était forcément vrai :p.

Ben je garde la soluce de jp14 (en le remerciant :D)

a+
 

Discussions similaires

Statistiques des forums

Discussions
312 496
Messages
2 088 979
Membres
103 996
dernier inscrit
KB4175