Macro événementielle, remplacer Row par un Range variable

Bonjour à toutes et à tous,

J'utilise la macro ci-dessous pour colorer le texte de chaque ligne selon un code de couleur proposé pour chaque ligne dans sa colonne D sous forme de liste déroulante (ga= rouge, lg= bleu, lm=vert).

Ça fonctionne parfaitement mais la totalité de la ligne est colorée, je souhaiterais n'agir que sur les 4 premières colonnes mais je n'ai pas trouvé comment remplacer Row par un Range variable.

Je vous remercie pour votre aide

Cdt,

Dul

Private Sub Worksheet_Change(ByVal Target As Range)

On Error GoTo Fin

If Not Application.Intersect(Target, Range("$D$2:$D$180")) Is Nothing Then

Select Case Target.Value

Case "ga"

Rows(Target.Row).Font.Color = RGB(255, 0, 0)

Case "lg"

Rows(Target.Row).Font.Color = RGB(0, 0, 255)

Case "lm"

Rows(Target.Row).Font.Color = RGB(0, 128, 0)

End Select

End If

End Sub

Bonjour

Essaie ça :

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

    On Error GoTo Fin
    If Not Application.Intersect(Target, Range("$D$2:$D$180")) Is Nothing Then
        Select Case Target.Value
            Case "ga"
                Range("A" & Target.Row & ":D" & taget.Row).Font.Color = RGB(255, 0, 0)
            Case "lg"
                Range("A" & Target.Row & ":D" & taget.Row).Font.Color = RGB(0, 0, 255)
            Case "lm"
                Range("A" & Target.Row & ":D" & taget.Row).Font.Color = RGB(0, 128, 0)
        End Select
    End If

End Sub

Bye

@dul

Après 134 messages vous ne savez toujours pas que vous devez mettre le code entre balises avec le bouton qui va bien

Curieux, ou alors du je-m'en-foutisme

Bonjour gmb,

Merci beaucoup !

Cdt

Rechercher des sujets similaires à "macro evenementielle remplacer row range variable"