Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub ' si plus d'une cellule séléctionnée on quitte la proc
If Not Intersect(Range("J20:J31,H38:H49"), Target) Is Nothing Then 'Si on ne se trouve pas dans les plages J20:J31 et H38:H49 rien ne se passe
If Target.Row < 37 Then 'Si la cellule active se trouve sur une ligne inférieur à 37
Range(Target.Offset(, -8).Address & ":" & Target.Offset(, 1).Address).Interior.ColorIndex = IIf(Target = Sheets("paramètres").[H11], 6, xlNone) 'on séléctionne la cellule active, 8 cellules à gauche et 1 cellule à droite et on applique la couleur jaune si la cellule active contient ce qu'il y a dans la cellule H11 de la feuille paramètres, soit: "à régler",
Else ' sinon (> à la ligne 37)
Range(Target.Offset(, -6).Address & ":" & Target.Offset(, 1).Address).Interior.ColorIndex = IIf(Target = Sheets("paramètres").[H11], 6, xlNone) 'on séléctionne la cellule active, 6 cellules à gauche et 1 cellule à droite et on applique la couleur jaune si la cellule active contient ce qu'il y a dans la cellule H11 de la feuille paramètres, soit: "à régler",
End If ' fin de la 1ère condition
End If ' fin de la 2ème condition
End Sub