Sub Masque()
Dim Début%, Fin%, L%
Application.ScreenUpdating = False
Début = Range("A1").End(xlDown).Row
Fin = Range("A65500").End(xlUp).Row
For L = Fin To Début Step -1
If Cells(L, "A") = "-" Then Rows(L).Hidden = True
Next L
End Sub
Sub Démasque()
Dim Début%, Fin%, L%
Application.ScreenUpdating = False
Début = Range("A1").End(xlDown).Row
Fin = Range("A65500").End(xlUp).Row
Rows(Début & ":" & Fin).Hidden = False
End Sub
Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, [Article_Number]) Is Nothing Then
Application.ScreenUpdating = False
Démasque
If Target <> "" Then Masque
End If
Application.ScreenUpdating = True
End Sub
Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, [Article_Number]) Is Nothing Or _
Not Intersect(Target, [OuiNon]) Is Nothing Then
Application.ScreenUpdating = False
Démasque
If Target <> "" And [OuiNon] = "OUI" Then Masque1750 Else Masque5185
End If
Application.ScreenUpdating = True
End Sub
Sub Masque1750()
Dim L%
Rows("17:50").Hidden = False
Rows("51:85").Hidden = True
For L = 50 To 17 Step -1
If Cells(L, "A") = "-" Then Rows(L).Hidden = True
If Cells(L, "C") = "-" Then Rows(L).Hidden = True
Next L
End Sub
Sub Masque5185()
Dim L%
Rows("17:50").Hidden = True
Rows("51:85").Hidden = False
For L = 85 To 51 Step -1
If Cells(L, "A") = "-" Then Rows(L).Hidden = True
If Cells(L, "C") = "-" Then Rows(L).Hidden = True
Next L
End Sub
Sub Démasque()
Rows("1:" & Range("C200").End(xlUp).Row).Hidden = False
End Sub