Private Const ListeFeuillesCachees As String = "?Janvier?Février?Mars?Avril?Mai?Juin?Juillet?Août?Septembre?Octobre?Novembre?Décembre?"
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
    'si la feuille ne fait pas partie des feuilles à cacher, quitter la macro
    If InStr(ListeFeuillesCachees, "?" & Sh.Name & "?") = 0 Then Exit Sub
    'masquer la feuille
    Sh.Visible = xlSheetHidden
End Sub
Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
Dim nomFeuille As String
    
    'récupérer le nom de la feuille pointée par le lien hypertexte
     nomFeuille = Application.Range(Target.SubAddress).Parent.Name
    
    'si la feuille fait partie des feuilles cachées
    If InStr(ListeFeuillesCachees, "?" & nomFeuille & "?") <> 0 Then
        'afficher la feuille
        On Error Resume Next
         Application.Range(Target.SubAddress).Parent.Visible = xlSheetVisible
        On Error GoTo 0
    End If
    
    'suivre le lien hypertexte
    Application.EnableEvents = False
    Target.Follow
    Application.EnableEvents = True
End Sub