Problème de couleur dans une listbox

Bonjour le forum,

J'ai 2 problèmes

1er Problème que je comprends pas:

Dans ma listbox, j'ai mis des couleurs par rapport à des critères (ach =Bleu, plein Gasoil = Rouge, R= Rouge)

Comme on peut le voir dans l'image ci dessous, ça Fonctionne pour la journée du 3/05/24.

2

Mais pour la journée du 4/05/24, dans l'image ci-dessous, là ça ne fonctionne pas du tout.

1

Je mets le fichier afin d'avoir une aide possible.

Merci d'avance.

10esv3-3.zip (350.33 Ko)

Hello,

Voici la réponse :

        If .ListItems(ligne).ListSubItems(4) = "ACH" Then

Re Rag02700

If .ListItems(ligne).ListSubItems(4) = "ACH" Then

pour ACH ou EVO ça fonctionne parfaitement

If .ListItems(ligne).ListSubItems(4) = "ACH" Or .ListItems(ligne).ListSubItems(4) = "EVO" Then
                'On selectionne les items des colonnes de la ligne et on mets en bleuuniquement en bleu
                .ListItems(ligne).ForeColor = vbBlue
                'l'item "ACH" present dans la colonne 4 on mets les items en bleu
                .ListItems(ligne).ListSubItems(4).ForeColor = vbBlue
                'On selectionne uniquement l'item de la colonne 5 (Parcours/Acheminement) en bleu
                .ListItems(ligne).ListSubItems(5).ForeColor = vbBlue
                'On selectionne uniquement l'item de la colonne 5 (Ligne) en bleu
                .ListItems(ligne).ListSubItems(7).ForeColor = vbBlue
                'On selectionne uniquement l'item de la colonne 7 (Voie) en bleu
                .ListItems(ligne).ListSubItems(8).ForeColor = vbBlue
                'On selectionne uniquement l'item de la colonne 9 (Pk Départ) en bleu
                .ListItems(ligne).ListSubItems(9).ForeColor = vbBlue
                'On selectionne uniquement l'item de la colonne 10 (Pk Arrivée) en bleu
                .ListItems(ligne).ListSubItems(10).ForeColor = vbBlue

Mais pour "mesures" OU "GéoV2" ca ne fonctionne pas

7
voilà le code
 If .ListItems(ligne).ListSubItems(4) = "GèoV" Or .ListItems(ligne).ListSubItems(4) = "mesures" Then
                'On selectionne les items des colonnes de la ligne et on mets en violet uniquement en bleu
                .ListItems(ligne).ForeColor = vbMagenta
                'l'item "ACH" present dans la colonne 4 on mets les items en violet
                .ListItems(ligne).ListSubItems(4).ForeColor = vbMagenta
                'On selectionne uniquement l'item de la colonne 5 (Parcours/Acheminement) en violet
                .ListItems(ligne).ListSubItems(5).ForeColor = vbMagenta
                'On selectionne uniquement l'item de la colonne 5 (Ligne) en violet
                .ListItems(ligne).ListSubItems(7).ForeColor = vbMagenta
                'On selectionne uniquement l'item de la colonne 7 (Voie) en violet
                .ListItems(ligne).ListSubItems(8).ForeColor = vbMagenta
                'On selectionne uniquement l'item de la colonne 9 (Pk Départ) en violet
                .ListItems(ligne).ListSubItems(9).ForeColor = vbMagenta
                'On selectionne uniquement l'item de la colonne 10 (Pk Arrivée) en violet
                .ListItems(ligne).ListSubItems(10).ForeColor = vbMagenta
                End If

voila pourquoi je comprends pas le problème

A+ jl

tu peux renvoyer le fichier avec le nouveau code stp ?

Re

voici le fichier,

et si tu pouvais voir le problème de double cli dans la listview2

ca serait très gentil

2notes.zip (329.11 Ko)

Le problème est toujours ici :

        If .ListItems(ligne).ListSubItems(4) = "ACH" Or .ListItems(ligne).ListSubItems(4) = "EVO" Then
            'On selectionne les items des colonnes de la ligne et on mets en bleuuniquement en bleu
            .ListItems(ligne).ForeColor = vbBlue
            'l'item "ACH ou EVO" present dans la colonne 4 on mets les items en bleu
            .ListItems(ligne).ListSubItems(4).ForeColor = vbBlue
            'On selectionne uniquement l'item de la colonne 5 (Parcours/Acheminement) en bleu
            .ListItems(ligne).ListSubItems(5).ForeColor = vbBlue
            'On selectionne uniquement l'item de la colonne 5 (Ligne) en bleu
            .ListItems(ligne).ListSubItems(7).ForeColor = vbBlue
            'On selectionne uniquement l'item de la colonne 7 (Voie) en bleu
            .ListItems(ligne).ListSubItems(8).ForeColor = vbBlue
            'On selectionne uniquement l'item de la colonne 9 (Pk Départ) en bleu
            .ListItems(ligne).ListSubItems(9).ForeColor = vbBlue
            'On selectionne uniquement l'item de la colonne 10 (Pk Arrivée) en bleu
            .ListItems(ligne).ListSubItems(10).ForeColor = vbBlue

        If .ListItems(ligne).ListSubItems(4) = "GèoV" Or .ListItems(ligne).ListSubItems(4) = "mesures" Then

Pour pouvoir acceder à cette condition :

If .ListItems(ligne).ListSubItems(4) = "GèoV" Or .ListItems(ligne).ListSubItems(4) = "mesures" Then

il faut d'abord que cette condition soit remplie :

If .ListItems(ligne).ListSubItems(4) = "ACH" Or .ListItems(ligne).ListSubItems(4) = "EVO" Then

puisque il n'y a pas END IF

comme ceci :

If .ListItems(ligne).ListSubItems(4) = "ACH" Or .ListItems(ligne).ListSubItems(4) = "EVO" Then
            'On selectionne les items des colonnes de la ligne et on mets en bleuuniquement en bleu
            .ListItems(ligne).ForeColor = vbBlue
            'l'item "ACH ou EVO" present dans la colonne 4 on mets les items en bleu
            .ListItems(ligne).ListSubItems(4).ForeColor = vbBlue
            'On selectionne uniquement l'item de la colonne 5 (Parcours/Acheminement) en bleu
            .ListItems(ligne).ListSubItems(5).ForeColor = vbBlue
            'On selectionne uniquement l'item de la colonne 5 (Ligne) en bleu
            .ListItems(ligne).ListSubItems(7).ForeColor = vbBlue
            'On selectionne uniquement l'item de la colonne 7 (Voie) en bleu
            .ListItems(ligne).ListSubItems(8).ForeColor = vbBlue
            'On selectionne uniquement l'item de la colonne 9 (Pk Départ) en bleu
            .ListItems(ligne).ListSubItems(9).ForeColor = vbBlue
            'On selectionne uniquement l'item de la colonne 10 (Pk Arrivée) en bleu
            .ListItems(ligne).ListSubItems(10).ForeColor = vbBlue
end if          
        If .ListItems(ligne).ListSubItems(4) = "GèoV" Or .ListItems(ligne).ListSubItems(4) = "mesures" Then

Après faut voir si ça fou pas la bazar dans le reste de ton code

Bonjour le forum,

J'avais une problème de coloration des lignes de la listeview1,

Rag02700 , m'as répondu qu'il manquais un end if

après plusieurs tâtonnements dans mon code, end mettant un end if, le code me fonctionnait plus,

et l'idée que j'ai eu, était de mettre les autres conditions de coloration avant celle qui causait problème,

le résultat, Ca fonctionne parfaitement.

cordialement

Rechercher des sujets similaires à "probleme couleur listbox"