Microsoft 365 Comment donner des couleurs aux lignes d'une ListView excel VBA

TCHIS

XLDnaute Occasionnel
Bonsoir à toutes et tous

C'est encore moi qui reviens à la charge, les habitués savent sur quoi porte mon problème à savoir la avoir la mise en place d'un outil pour suivi de Gammes sur Excel.

Afin de me permettre de trouver une solution à mes difficultés plus efficacement j'ai bien appris de mes erreurs.

C'est pourquoi pour une première fois je viens avec un bout de code que j'ai tenté de mettre en place après avoir recherché dans le forum et sur Youtube des cas similaires à mon problème actuel.

Alors ce qu'il y a c'est que je tente d'appliquer une des couleurs aux lignes de ma ListView en fonction du Critère Validité quise trouve dans la 13colonnes de ma ListView1.

Ce que je souhaite c'est qu'en fonction de la valeur se trouvant dans cette colonne (Validité) toute ma ligne se colore c'est-à-dire, si:
la validité est V0 la ligne se met rouge entièrement
V1 pour Noir, (C'est la couleur par défaut )
V2 pour Orange,
V3 pour Bleu,
V4 pour Vert.

Le souci c'est que quand je tente de lancer la procédure il me ressort Erreur d'exécution 1004.

En pièce jointe vous avez une capture sur là où se situe mon problème.
Etant donner que ce code se situe dans une macro(Couleur_LV) je ne sais pas trop exactement ce que je dois faire je me dis que peut être tout n'est pas jeter à l'eau mais je suis ouvert aux différentes propositions que vous pourriez me soumettre.
En passant V0, V1, V2,V3 et V4 ont été défini comme Variant je ne sais pas si j'ai mal fait ou non.
Donc s'il vous plait pourriez vous y jeter un coup d'euil et m'aider à trouver soit une nouvelle solution parce que je ne suis pas sur que mon code soit exploitable en toute sincérité
VB:
Sub Couleur_LV() 'Macro permettant de donner une couleur distincte au ligne de ma ListView en fonction de la valeur se trouvant dans la colonne Validité (V0 pour Rouge, V1 pour Noir, V2 pour Orange, V3 pour Bleu, V4 pour Vert)
       Dim V0 As Variant
       Dim V1 As Variant
       Dim V2 As Variant
       Dim V3 As Variant
       Dim V4 As Variant
       dligne = Feuil1.Range("A" & Rows.Count).End(xlUp).Row
       'On définit la zone(La plage) sur laquelle sera appliqué Moncritère
       C = Feuil1.Range("A1:U" & dligne).Value
       'On définit à quoi correspond Moncritère
       MonCritère = Cells(i, 13).Value
       With USF.ListView1
        For i = 3 To UBound(C)
            Select Case MonCritère
                   Case Is = V0
                   Couleur = vbRed
            End Select
        Next i
       End With
End Sub
Capture d’écran (200).png
 

TooFatBoy

XLDnaute Barbatruc
Bien au contraire ton fichier à un plus comparé à ce que j'ai pu réaliser grâce à vos conseils d'ailleurs.
Cette option avec la boite dialogue qui envoie le message qu'il n'y a aucune correspondance honnêtement je n' y avait même pas songé Merci
1- Mon message était en réponse au camarade PatrickToulon.
2- Ce n'est pas mon fichier.
3- J'ai bien précisé que ça ne m'intéresse pas, parce que ça n'apporte rien par rapport à la question posée (pour rappel, la question posée porte sur le coloriage d'une ListView).



Il se passe vraiment des trucs bizarres sur ton fil de discussion :
- N'avais-tu point clos ce fil ?
- Les messages de PatrickToulon, et peut-être d'autres, on disparu.
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
ben justement si ça a avoir par ce que ce n'est que ca dont je me suis occupé
je montrais comment le faire sans le refaire a chaque liste filtrée après avoir chargé la listview
mais tout faire en même temps et une seule fois
faut il avoir essayé ou même vu le code

"ça n'apporte rien / je m'en cogne"
et après on dit que c'est moi qui sui agressif ou prétentieux et qui veux toujours avoir raison

et oui j'ai tout supprimé
pour info la méthode et stratégie que tu utilise s'appelle un patch
tout le monde sait ce que vaut et dure un patch
 

TooFatBoy

XLDnaute Barbatruc
je montrais comment le faire sans le refaire a chaque liste filtrée après avoir chargé la listview
mais tout faire en même temps et une seule fois
faut il avoir essayé ou même vu le code
C'est vrai que je n'ai pas regardé ton code vu que, d'après ton gif, ça faisait la même chose visuellement que ce que j'avais donné précédemment.


"ça n'apporte rien / je m'en cogne"
et après on dit que c'est moi qui sui agressif ou prétentieux et qui veux toujours avoir raison
Il n'y avait aucune agressivité. Ca se voulait même rigolo puisque j'ai juste voulu faire une petite blagounette en m'adressant à toi en utilisant tes codes habituels. Mais visiblement tu n'as pas apprécié la plaisanterie... :(


et oui j'ai tout supprimé
Ah, tu me rassures. j'avais peur que ce soit un bug du forum.
Ceci dit, ce n'est pas parce que j'ai dit que ton code ne m'intéressait pas qu'il fallait tout supprimer : il n'y a pas que moi sur le forum donc ça pouvait certainement intéresser d'autres personnes.
 

TooFatBoy

XLDnaute Barbatruc
Bonjour à tous
Certains ont-ils pu jeter un coup d'œil concernant la conversation que j'ai créer sur comment conditionner l'accès à une page de multipage ?🥺🥺🥺
Le lien vers ledit fil :
 

Discussions similaires

Réponses
12
Affichages
243
Réponses
3
Affichages
146
Réponses
2
Affichages
221

Statistiques des forums

Discussions
312 169
Messages
2 085 922
Membres
103 040
dernier inscrit
badi