Visibilité des feuilles Excel : masquer, afficher, très masquer

Vous avez une feuille de paramètres internes, des données brutes pas destinées à l'utilisateur final, ou un onglet « calculs » qui pollue la navigation ? Excel propose trois niveaux de visibilité pour les feuilles : visible, masquée, et très masquée. Le troisième niveau, méconnu, exige du VBA mais cache la feuille même du menu standard. Voici comment tout ça fonctionne.

Visible Onglet affiché en bas du classeur 📄 Masquée Onglet caché Récupérable au clic droit 👁 Très masquée Invisible même depuis le menu 🔒 Seul le VBA permet de basculer en « très masquée » et de revenir.
Trois niveaux de visibilité pour les feuilles : visible, masquée (récupérable par clic droit), très masquée (récupérable uniquement via VBA).

1. Masquer une feuille (méthode standard)

C'est la méthode la plus connue, disponible à la souris en quelques secondes.

  1. Clic droit sur l'onglet de la feuille → Masquer.
  2. L'onglet disparaît de la barre en bas du classeur.
  3. Les formules qui référencent cette feuille continuent à fonctionner normalement.

Pour afficher de nouveau : clic droit sur n'importe quel onglet → Afficher… → choisissez la feuille dans la liste → OK.

Limite : n'importe quel utilisateur sait que la feuille existe et peut l'afficher en deux clics. Ce n'est pas de la sécurité, juste du rangement visuel.

Masquer plusieurs feuilles d'un coup

Sélectionnez plusieurs onglets avec Ctrl+clic (ou Maj+clic pour une plage continue), puis clic droit → Masquer. Les onglets disparaissent ensemble.

Afficher plusieurs feuilles d'un coup

Depuis Excel 365 : la boîte « Afficher » permet la sélection multiple avec Ctrl+clic. Sur les versions plus anciennes, il faut afficher feuille par feuille — ou utiliser VBA (cf. plus bas).

2. Très masquer une feuille (xlSheetVeryHidden)

Le statut « très masqué » rend la feuille invisible même dans la boîte « Afficher ». L'utilisateur ne soupçonne pas son existence en parcourant le ruban. C'est utile pour :

  • Stocker des données de paramétrage (listes déroulantes alimentées par une plage cachée).
  • Cacher une feuille de calculs intermédiaires sans alourdir le menu Afficher.
  • Préparer une feuille de tableau de bord dont l'utilisateur ne doit pas connaître la source.

Activation via l'éditeur VBA (sans macro)

Pas besoin d'écrire de code pour passer une feuille en « très masquée ». L'éditeur VBA suffit :

  1. Ouvrez l'éditeur VBA : Alt+F11.
  2. Dans l'explorateur de projet (à gauche), sélectionnez votre feuille (ex. Feuil2 (Paramètres)).
  3. Dans la fenêtre Propriétés (F4 si absente), trouvez la propriété Visible.
  4. Choisissez 2 - xlSheetVeryHidden.

La feuille devient invisible. Le menu « Afficher » ne la propose même plus. Pour la récupérer, repassez par cette même fenêtre Propriétés et basculez sur -1 - xlSheetVisible.

Activation par code VBA

Sub MasquerVraiment()
    Sheets("Paramètres").Visible = xlSheetVeryHidden
End Sub

Sub RendreVisible()
    Sheets("Paramètres").Visible = xlSheetVisible
End Sub

3. Sécurité : ce n'est pas un mot de passe !

Une feuille « très masquée » reste lisible par tout utilisateur déterminé : il suffit d'ouvrir l'éditeur VBA et de modifier la propriété Visible. Pour vraiment empêcher l'accès, il faut combiner deux choses :

  1. Passer la feuille en xlSheetVeryHidden.
  2. Protéger le projet VBA par mot de passe : dans VBE, Outils → Propriétés de VBAProject → Protection, cochez « Verrouiller le projet pour l'affichage » et définissez un mot de passe.

Combiné, l'utilisateur n'accédera ni à la feuille ni au code permettant de la rendre visible. Cela reste contournable par des outils tiers (Excel n'est pas un coffre-fort), mais ça dissuade 99 % des cas.

Pour une sécurité plus stricte, voir notre article Protection des feuilles et classeurs.

4. Cas d'usage classiques

Liste déroulante alimentée par une feuille cachée

Vous créez une liste de validation des données dans la feuille « Saisie », mais la liste source (« Pays », « Catégories »…) est dans la feuille « Paramètres » que vous très-masquez. L'utilisateur voit la liste sans pouvoir y accéder ou la modifier directement.

Feuille de calcul intermédiaire

Vos tableaux de bord agrègent des données via Power Query qui les pose dans une feuille « DataRaw ». Vous très-masquez cette feuille : le tableau de bord fonctionne, mais l'utilisateur n'est pas tenté de modifier la source.

Onglets de templates

Pour générer des documents (factures, devis), gardez la trame en feuille très-masquée. Le code VBA la copie et la renomme à chaque génération. L'utilisateur ne voit que le résultat.

5. Lister toutes les feuilles cachées avec VBA

Pratique pour auditer un fichier reçu d'un collègue :

Sub ListerFeuillesCachees()
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        If ws.Visible <> xlSheetVisible Then
            Debug.Print ws.Name, ws.Visible ' -1 visible, 0 hidden, 2 veryHidden
        End If
    Next ws
End Sub

Exécutez (F5), ouvrez la fenêtre Exécution (Ctrl+G). Vous obtiendrez la liste des feuilles cachées avec leur niveau.

6. Tout afficher en une commande

Sub ToutAfficher()
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        ws.Visible = xlSheetVisible
    Next ws
End Sub

Foire aux questions

Une feuille très masquée ralentit-elle le fichier ?

Non, son statut de visibilité n'a aucun impact sur les performances. Seules les formules qu'elle contient comptent.

Puis-je masquer la dernière feuille visible ?

Non, Excel exige qu'au moins une feuille soit visible. Il faut en avoir une autre visible avant de masquer.

Les feuilles cachées sont-elles imprimées ?

Non, l'impression ignore les feuilles masquées et très masquées, sauf si vous lancez explicitement leur impression depuis le code VBA.

À retenir

  • Trois niveaux : visible, masquée (clic droit → Afficher), très masquée (VBA uniquement).
  • « Très masquée » ne remplace pas un mot de passe — verrouillez le projet VBA en complément.
  • Utilisations typiques : listes de validation, données brutes, templates internes.
  • Pour un audit complet, parcourez les feuilles via VBA et vérifiez leur propriété Visible.