Coloriser lignes paires selon 2 critères, via USF

Bonjour,

J'utilise un userform permettant d'ajouter des lignes d'interventions, sur des parcelles (numérotées)

Je peux donc avoir des lignes comme ceci :

  1. 12B le 16/06
  2. 12B le 16/06
  3. 12C le 16/06
  4. 12D le 16/06

Dans ce cas de figure, je considère qu'il y a 3 interventions différentes, et non pas 4. Les lignes 1 et 2 vont ensemble, la 3 est unique, la 4 aussi.

Mais pour améliorer le visuel du tableau, je souhaiterais coloriser les lignes suivant une certaine logique.

L'idée serait de :

- coloriser les ligne 1 et 2

- ne pas coloriser la 3

- coloriser la 4

- ...et ainsi de suite

Est-ce possible ce genre de chose ?

Un fichier exemple au cas où :

Merci par avance
Cordialement.

C'est possible en VBA en remontant de la dernière ligne à la seconde.
On met la couleur 1 sur la dernière ligne. Tant que la ligne précédente comporte le même n° de parcelle et la même date d'intervention, on conserve la couleur n° 1, sinon on utilise la couleur 2. Si c'est la couleur n° 2 qui est la couleur courante, on repasse à la couleur 1, etc.

La macro sur l'exemple donné :

Option Explicit

Sub ColorLine()
    Dim i As Long, derLigne As Long
    Dim coul As Long, coul1 As Long, coul2 As Long

    coul1 = RGB(255, 255, 255)
    coul2 = RGB(220, 220, 220)
    coul = coul1

    derLigne = Range("K" & Rows.Count).End(xlUp).Row
    Range("K" & derLigne & ":O" & derLigne).Interior.Color = coul
    For i = derLigne To 21 Step -1
        If Cells(i - 1, 11) = Cells(i, 11) And Cells(i - 1, 12) = Cells(i, 12) Then
            Range("K" & i - 1 & ":O" & i - 1).Interior.Color = coul
        Else
            If coul = coul2 Then
                coul = coul1
            Else
                coul = coul2
            End If
            Range("K" & i - 1 & ":O" & i - 1).Interior.Color = coul
        End If
    Next i
End Sub

Bonjour Optimix,

C'est excellent, merci beaucoup pour ceci !

J'ai essayé de modifier le code pour une utilisation en tableau structuré, mais je suis vraiment pas à l'aise là dessus.

J'ai tenté des choses, en m'inspirant de choses existantes mais j'ai toujours quelque chose qui coince.

Pouvez-vous m'aider encore une fois s'il vous plaît ?

Merci

J'aurais besoin de votre tableau structuré purgé de tout ce qui pourrait être confidentiel, sinon ca va forcément coincer ici ou là.
NB : je ne sais pas pourquoi je suis parti du bas vers le haut, on peut le faire dans le sens normal du haut vers le bas.

Bonsoir Optimix,

J'ai finalement réussi à l'adapter sur le tableau "TZA"

Par contre j'aimerais bien savoir comment faire la colorisation de haut en bas :-)

J'ai tenté plusieurs choses sans succès, la logique m'échappe...!

Merci
Cordialement.

Il suffit de commencer à la ligne 21 et de procéder en descendant en remplaçant les "-" par des "+" :

Option Explicit

Sub ColorLine()
    Dim i As Long, derLigne As Long
    Dim coul As Long, coul1 As Long, coul2 As Long

    coul1 = RGB(220, 220, 220)
    coul2 = RGB(255, 255, 255)
    coul = coul1

    derLigne = Range("K" & Rows.Count).End(xlUp).Row
    Range("K21:O21").Interior.Color = coul
    For i = 21 To derLigne - 1
        If Cells(i + 1, 11) = Cells(i, 11) And Cells(i + 1, 12) = Cells(i, 12) Then
            Range("K" & i + 1 & ":O" & i + 1).Interior.Color = coul
        Else
            If coul = coul2 Then
                coul = coul1
            Else
                coul = coul2
            End If
            Range("K" & i + 1 & ":O" & i + 1).Interior.Color = coul
        End If
    Next i
End Sub

Bonjour Optimix,

Un grand merci Mes tableaux ont gagné en lisibilité!

Bien cordialement.

Bonjour,

Je suis désolé de remonter ce sujet mais j'ai besoin d'un complément d'information.

La sub ColorLine actuelle colorise le tableau en entier.

Ma question : un tableau structuré filtré peut-il être colorisé de la même manière ?

Ce que je veux dire, c'est qu'en l'état actuel, lorsque j'applique un filtre sur une parcelle, je peux me retrouver avec des lignes colorisées de la même couleur alors que la date d'intervention est différente :

image

Une macro permettant de "recoloriser" le tableau dès lors qu'on applique un filtre (via segment) est-il possible ?

Merci par avance pour votre réponse !

Cordialement,

Rechercher des sujets similaires à "coloriser lignes paires criteres via usf"