Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Format conditionnel dans un Listview

3 réponses
Avatar
Reidid 06
Bonsoir

Dans un Listview je souhaite changer la couleur de la police en fonction de=
s valeurs de la premi=E8re colonne.

Dans cette 1=E8re colonne nous trouvons la r=E9f=E9rence des articles repor=
t=E9s, puis des d=E9tails dans les colonnes suivantes.
Exemple:
1/ 835
2/ 850
3/ 850
4/ 872
5/ 880
6/ 880
7/ 880
etc

A chaque fois que ma r=E9f=E9rence d'article change j'aimerais pouvoir auss=
i changer la couleur (Forecolor) de ma police lors de la mise en forme. Par=
exemple:
835 en Noir
850 en bleu
850 en bleu
872 en noir
880 en bleu
880 en bleu
880 en bleu

Pour le moment j'ai la macro suivante qui me permet de changer de couleur 1=
ligne sur 2.

Private Sub MiseEnForme()
Dim x As Long
Dim j As Integer

With ListViewRequetes
For x =3D 1 To .ListItems.Count
If (Int(x / 2) =3D x / 2) Then
.ListItems(x).ForeColor =3D &HC00000
For j =3D 1 To 11
.ListItems(x).ListSubItems(j).ForeColor =3D &HC00000 =
=20
Next =20
Else
.ListItems(x).ForeColor =3D &H80000008 =20
For j =3D 1 To 11
.ListItems(x).ListSubItems(j).ForeColor =3D &H80000008
Next
End If
Next
End With

End Sub

J'ai essay=E9 plusieurs boucles cet apr=E8s-midi mais sans succ=E8s, merci =
de votre aide.

Cordialement

3 réponses

Avatar
MichD
Bonjour,

'Mettre de la couleur dans la colonne 2 du ListView
'À toi d'adapter...

With ListView1
UseItemStyleForSubItems = False
For A = 1 To .ListItems.Count
With .ListItems(A).ListSubItems(2)
Select case clng(.Text)
case 835, 872
.Bold = True 'Caractère gras si besoin
.ForeColor = vbBlack
Case 850, 880
.Bold = True 'Caractère gras si besoin
.ForeColor = vbBlack
End Select
End With
Next
.Refresh
End With
Avatar
MichD
With ListView1
UseItemStyleForSubItems = False
For A = 1 To .ListItems.Count
With .ListItems(A).ListSubItems(2)
Select case clng(.Text)
case 835, 872
.Bold = True 'Caractère gras si besoin
.ForeColor = vbBlack
Case 850, 880
.Bold = True 'Caractère gras si besoin
.ForeColor = vbBlue
End Select
End With
Next
.Refresh
End With
Avatar
Reidid 06
Bonsoir MichD

Merci de ton aide.

J'ai finalement trouvé une solution qui me permet maintenant d'avoir dans mon listview la couleur de la police identique tant que la référence a rticle de ma 1ère colonne ne change pas.

Bonne soirée
Didier