Macro couleur ligne

bonjour,

je cherche une macro afin d'effectuer la tache suivante avec excel 2003:

la macro devra être valable sur la plage suivante A3:N67

j'ai une tableau qui commence en ligne 3 dont les cellules A3;C3;E3;G3;I3;K3;M3 ( soit 1 colonne sur 2 ) sont normalement identiques mais parfois il y a des erreurs ( l'erreur peut être une ou plusieurs cellules différentes )

et je cherche comment arriver à mettre cette ligne en couleur ( au choix) en cas d'erreur

je fais un récapitulatif si je n'ai pas été assez clair

si dans Ligne 3 les cellules A3;C3;E3;G3;I3;K3;M3 ne sont pas toutes identiques, colorer la ligne 3 de A3 à N3

dans le cas ou les cellules sont identiques : laisser en blanc

et que la macro soit valable jusqu'à la ligne 67

j'ai déjà essayé de faire avec une MFC, mais cela pose problème lorsque je corrige les cellules car je dois faire des insertions

merci d'avance à tous ceux qui voudront bien m'aider

AUBA

Bonjour,

Essaie avec ce code :

Sub couleur()
Dim Plg As Range
Dim I As Byte, J As Byte
Set Plg = Union(Range("A3:A67"), Range("C3:C67"), Range("E3:E67"), Range("G3:G67"), _
                Range("I3:I67"), Range("K3:K67"), Range("M3:M67"))
Plg(1, 1).Resize(65, 13).Interior.ColorIndex = xlNone
For I = 1 To 65
    For J = 3 To 13 Step 2
        If Plg(I, 1) <> Plg(I, J) Then
            Plg(I, 1).Resize(1, 13).Interior.ColorIndex = 3
        End If
    Next J
Next I
End Sub

Bonne journée

bonjour cousinhub,

je viens de tester cela marche parfaitement, c'est tout à fait ce que je cherchais

sans vouloir abuser de ta bonne volonté et de tes connaissances est il possible que cette macro s'éxécute automatiquement sans que je passe par un bouton ou bien faire éxécuter, c'est à dire cès que je corrige une cellule la ligne devienne blanche sans manoeuvre de ma part

encore merci d'avance

AUBA

Re-,

Tu gardes l'autre code pour l'initialisation de ta feuille

Et tu mets celui-ci dans l'évènement de feuille (clic droit sur le nom de l'onglet, "Visualiser le code")

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plg As Range
Dim J As Byte
If Target.Count > 1 Then Exit Sub
Set Plg = Union(Range("A3:A67"), Range("C3:C67"), Range("E3:E67"), Range("G3:G67"), _
                Range("I3:I67"), Range("K3:K67"), Range("M3:M67"))
If Not Intersect(Target, Plg) Is Nothing Then
    Plg(Target.Row - 2, 1).Resize(1, 13).Interior.ColorIndex = xlNone
    For J = 3 To 13 Step 2
        If Plg(Target.Row - 2, 1) <> Plg(Target.Row - 2, J) Then
            Plg(Target.Row - 2, 1).Resize(1, 13).Interior.ColorIndex = 3
        End If
    Next J
End If
End Sub

Bonne journée

Bonjour cousinhub,

un grand merci , c'est parfait

un bon week end si la météo le permet

AUBA

Rechercher des sujets similaires à "macro couleur ligne"