Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

colorier item de ma listview sous condition

  • Initiateur de la discussion Initiateur de la discussion creolia
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

creolia

XLDnaute Impliqué
bonsoir je reviens vers vous pour un complement d'information

pour changer la couleur de mes item dans ma listview sous condition j'utilise ceci

Code:
Code:
JR = Worksheets(£NomDeLaFeuilFormation).Cells(£lig, 9) '5 Col Jour Restant
    .ListItems(£item).ListSubItems(5).Text = JR '5 Col Jour Restant
           'remarque .ListSubItems(6).Text = £NomDeLaFeuilFormation déjà init à CreatListView1
    .ListItems(£item).ListSubItems(7).Text = £lig
    If Val(JR) < 5 Then
       .ListItems(£item).ListSubItems(1).ForeColor = &H80FF& 'orange
    ElseIf Val(JR) < 10 Then
       .ListItems(£item).ListSubItems(1).ForeColor = &HC0& 'rouge
    End If

je voudrais ajouter une condition suplementaire si celui-ci est vide

la couleur deviens grise

pouvez vous m'aider svp merci
 
Re : colorier item de ma listview sous condition

Bonjour creolia et le forum,

Une possibilité :

JR = Worksheets(£NomDeLaFeuilFormation).Cells(£lig, 9) '5 Col Jour Restant
.ListItems(£item).ListSubItems(5).Text = JR '5 Col Jour Restant
'remarque .ListSubItems(6).Text = £NomDeLaFeuilFormation déjà init à CreatListView1
.ListItems(£item).ListSubItems(7).Text = £lig
If Val(JR) < 5 Then
.ListItems(£item).ListSubItems(1).ForeColor = &H80FF& 'orange
ElseIf Val(JR) < 10 Then
.ListItems(£item).ListSubItems(1).ForeColor = &HC0& 'rouge
ElseIf Val(JR) = "" Then
.ListItems(£item).ListSubItems(1).ForeColor = &H808080& 'gris
End If
 
Re : colorier item de ma listview sous condition

Bonjour creolia, Bernard,

Si JR = "" Val(JR) = 0, donc mettre le test correspondant en 1er :

Code:
JR = Worksheets(£NomDeLaFeuilFormation).Cells(£lig, 9) '5 Col Jour Restant
.ListItems(£item).ListSubItems(5).Text = JR '5 Col Jour Restant
'remarque .ListSubItems(6).Text = £NomDeLaFeuilFormation déjà init à CreatListView1
.ListItems(£item).ListSubItems(7).Text = £lig
If JR = "" Then
.ListItems(£item).ListSubItems(1).ForeColor = &H808080& 'gris
ElseIf Val(JR) < 5 Then
.ListItems(£item).ListSubItems(1).ForeColor = &H80FF& 'orange
ElseIf Val(JR) < 10 Then
.ListItems(£item).ListSubItems(1).ForeColor = &HC0& 'rouge
End If

A+
 
Re : colorier item de ma listview sous condition

Au lieu des codes Hexa pour la couleur

Tu peux utiliser la fonction RGB()

Red
Green
Bleu

0 à 255 pour 256 itérations différentes
256*256*256 = 32Bits couleur

RGB(255,0,0) donne rouge
RGB(0,255,0) donne vert
RGB(0,255,255) donne jaune
Rouge plus foncé tu inscrit RGB(150,0,0)

Code:
JR = Worksheets(£NomDeLaFeuilFormation).Cells(£lig, 9) '5 Col Jour Restant
.ListItems(£item).ListSubItems(5).Text = JR '5 Col Jour Restant
'remarque .ListSubItems(6).Text = £NomDeLaFeuilFormation déjà init à CreatListView1
.ListItems(£item).ListSubItems(7).Text = £lig

.ListItems(£item).ListSubItems(1).ForeColor = IIf(IsEmpty(JR), RGB(130, 130, 130), IIf(Val(JR) < 5, RGB(255, 128, 0), RGB(255, 0, 0)))
 
Re : colorier item de ma listview sous condition

Salut Habitude,

La fonction RGB n'est guère plus simple à utiliser que les codes Hexa (que l'on trouve facilement par la propriété ForeColor dans l'USF).

Par contre la dernière ligne utilisant IIf raccourci le code, mais il faut prévoir la couleur si Val(JR)>=10...

Perso, plutôt que des IIf imbriqués, je préfère souvent Switch :

Code:
.ListItems(£item).ListSubItems(1).ForeColor = Switch(JR = "", &H808080, Val(JR) < 5, &H80FF&, Val(JR) < 10, &HC0&, True, &H80000012) 'gris-orange-rouge-noir

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

J
Réponses
16
Affichages
3 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…