Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim lig&
Dim i&
Dim R As Range
Dim valeur
Dim couleur
Dim var
Dim Operateur%
Set R = Application.Intersect(Target, Range(Columns(2).Address))
If R Is Nothing Then Exit Sub
'--- A adapter ---
valeur = Array("Crédit", "Débit")
couleur = Array(5, 3)
'-----------------
lig& = Target.Row
Set R = ActiveSheet.Range(Cells(lig&, 3), Cells(lig&, 14))
var = R
Operateur% = IIf(Target = valeur(0), 1, -1)
For i& = 1 To UBound(var, 2)
var(1, i&) = Abs(var(1, i&)) * Operateur%
Next i&
Application.EnableEvents = False
R = var
Application.EnableEvents = True
If Operateur% = 1 Then
R.Font.ColorIndex = couleur(0)
Else
R.Font.ColorIndex = couleur(1)
End If
End Sub