Code pour changer la couleur du texte d'une colonne Listview

Bonsoir à tous,

Quelqu'un aurait un bout de code pour modifier la couleur du texte d'une colonne entière d'une listview.

J'essaie plusieurs choses mais je n'arrive qu' a changer la couleur d'une cellule ou d'une ligne. Peut être que ce n'est pas possible pour la colonne entière.

Je pars de ce code :

ListView1.SelectedItem.ForeColor = vbBlue
ListView1.SelectedItem.ListSubItems(3).ForeColor = vbBlue

Merci à tous pour votre aide

Bonne soirée

Bonsoir,

Et avec ça ?

ListView1.ForeColor = vbBlue
ListView1.ListSubItems(3).ForeColor = vbBlue

A+

Edit : Petit plus avec d'autres couleurs

https://www.excel-pratique.com/fr/fonctions-vba/rgb

Merci Geof52,

Il y a notamment un super lien que je n'avais pas vu et super utile pour les codes couleur (https://www.excel-pratique.com/fr/vba/liste-couleurs-rgb)

Par contre je n'arrive toujours pas mettre en couleur le texte de toute une colonne de ma listview

Si ça ne vous embête pas je laisse encore un peu le poste ouvert si quelqu'un avait un code magique !

Belle journée à tous

Bonjour,

Si ton probleme n'est pas résolu, aucune raison de clore le sujet.

Tu peux partager un exemple de ton fichier sans info confidentielle ?
Ou refaire un fichier vierge avec quelques lignes dans ta listview pour pouvoir tester.

merci pour ton aide Geo, je ne voulais pas clore juste un vote pour ton retour !

Je met en pj un fichier vierge, mon objectif c'est de mettre toute la colonne B et toute la colonne C avec un texte vert ou bleu

et que tout le texte de la ligne s'affiche en rouge si dans la colonne A la valeur est "plein"

Encore merci pour l'aide apportée

23test-2covoit.xlsm (71.16 Ko)

ce site est vraiment génial

Sympa le fichier, une solution possible en 3 lignes sur une boucle.

image

Dans la procedure Listviewfi

j'ai mis en commentaire tes 2 lignes et rajouté ça :

'ListView1.SelectedItem.ForeColor = vbBlue
'ListView1.SelectedItem.ListSubItems(3).ForeColor = vbBlue

For j = 1 To ListView1.ListItems.Count                          'pour toutes les lignes
    ListView1.ListItems(j).ListSubItems(1).ForeColor = vbGreen  'colonne ville depart vert
    ListView1.ListItems(j).ListSubItems(2).ForeColor = vbBlue   'colonne ville arrivee bleu
    If ListView1.ListItems(j).Text = "plein" Then ListView1.ListItems(j).ForeColor = vbRed
Next j

Edit : J'ai passé trop vite sur ce que tu souhaites faire en colonne A donc : le code au dessus tu as juste "Plein" la colonne A en rouge
et ce code en dessous c'est la ligne entiere en rouge

'ListView1.SelectedItem.ForeColor = vbBlue
'ListView1.SelectedItem.ListSubItems(3).ForeColor = vbBlue

For j = 1 To ListView1.ListItems.Count                          'pour toutes les lignes
    ListView1.ListItems(j).ListSubItems(1).ForeColor = vbGreen  'colonne ville depart vert
    ListView1.ListItems(j).ListSubItems(2).ForeColor = vbBlue   'colonne ville arrivee bleu
    If ListView1.ListItems(j).Text = "plein" Then               'si Col A = Plein
        ListView1.ListItems(j).ForeColor = vbRed                'Premiere colonne en rouge
        For k = 1 To ListView1.ColumnHeaders.Count - 1          'toutes les autres colonnes
            ListView1.ListItems(j).ListSubItems(k).ForeColor = vbRed
        Next k
    End If
Next j

A+

Tu es un génie Geof

Bonjour,

Merci de :
- Mettre votre version excel dans le profil de votre compte
- Cloturer votre fil si vous en avez terminé

Cordialement

Rechercher des sujets similaires à "code changer couleur texte colonne listview"