Private Sub Worksheet_Change(ByVal Target As Range)
'Si le changement n'a pas lieu en J1 sortir
If Not Application.Intersect(Target, Range("J1")) Is Nothing Then Exit Sub
'Boucle sur le nombre de ligne M1 à 5
For Lg = Range("M1").Value To 5
'Masque la ligne LG
Rows(Lg).Selection.EntireRow.Hidden = False
'Si en A(LG) et égale a J1 ou K1 ou L1 affiche la ligne
If (Range("A" & Lg).Value = Range("J1").Value Or Range("A" & Lg).Value = Range("K1").Value Or Range("A" & Lg).Value = Range("L1").Value) Then Rows(Lg).Visible = True
'Suite de la boucle
Next Lg
'Sortie
End Sub