Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plg As Range, C As Range, M
If Target.Count <> 1 Then Exit Sub
Set Plg = Range("B3").SpecialCells(xlCellTypeSameValidation)
M = Split(Plg.Address, ",")
If Not Intersect(Target, Plg) Is Nothing Then
If Target.Address = M(UBound(M)) Then
Rows(Target.Row + 2 & ":" & Cells(Rows.Count, 2).End(xlUp).Row - 2).Hidden = Target.Value <> "OUI"
Else
For Each C In Plg
If C.Row > Target.Row Then
Rows(Target.Row + 2 & ":" & C.Row - 2).Hidden = Target.Value <> "OUI"
Exit For
End If
Next C
End If
End If
End Sub