Private Sub Workbook_Open()
Dim O As Worksheet 'déclare la variable O (Onglets)
Dim DL As Long 'déclare la variable DL (Dernière ligne)
Dim I As Long 'déclare la variable I (Incrément)
Application.ScreenUpdating = False 'masque ls rafraîchissements d'écran
For Each O In Sheets 'boucle sur tous les onglets du classeur
DL = O.Cells(Application.Rows.Count, "D").End(xlUp).Row 'définit la dernière ligne éditée DL de la colonne D de l'onglet O
If DL > 1 Then Rows(DL + 1 & ":" & Application.Rows.Count).Hidden = True 'si DL est supérieur à 1, masque toutes les lignes après DL
For I = 1 To DL 'boucle de 1 à DL
'si la cellule ligne I colonne D est différente de "N", masque la ligne I
If UCase(O.Cells(I, "D").Value) <> "N" Then Rows(I).Hidden = True
Next I 'prochaine ligne de la boucle
Next O 'prochain onglet du classeur
Application.ScreenUpdating = True 'affiche ls rafraîchissements d'écran
End Sub