formateur informatique

Empêcher un utilisateur d'afficher les feuilles masquées

Accueil  >  Bureautique  >  Excel  >  Excel VBA  >  Empêcher un utilisateur d'afficher les feuilles masquées
Livres à télécharger


Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :


Inscription Newsletter    Abonner à Youtube    Vidéos astuces Instagram
Sujets que vous pourriez aussi aimer :


Empêcher d'afficher les feuilles masquées

Cette astuce VBA Excel est la première d'une longue série. Elle ne fait pas appel au code mais à l'éditeur. Vous savez déjà masquer des feuilles Excel. Et celles-ci, même protégées, peuvent être facilement démasquées par clic droit sur l'un des onglets en bas de la fenêtre Excel. Avec cette astuce, nous allons voir comment masquer une feuille avec une protection à toute épreuve.

Classeur Excel à télécharger
Pour la découverte de cette astuce, nous suggérons de récupérer un classeur hébergeant plusieurs feuilles mais aussi une application finalisée qui vous ravira sûrement. Nous découvrons un classeur constitué de six feuilles. Il offre une solution tout à fait intéressante et fonctionnelle exploitant notamment la fonction Indirect. La feuille AdresseIndirect est active par défaut. Son rôle est de confronter les résultats de deux commerciaux à choisir à l'aide de deux listes déroulantes placées respectivement en cellules C3 et H3. Des formules d'extraction reconstruisent alors les données de ces commerciaux choisis, dans les tableaux du dessous. Et pour cela, elles exploitent donc la fonction Indirect pour pointer sur la feuille portant le même nom que le commercial.

Masquer des feuilles normalement
Pour préserver les sources de données de toute inadvertance ou de toute action malveillante, l'idée est de masquer les cinq dernières feuilles de ce classeur. Une question surgit néanmoins. Est-ce que les formules leur faisant référence vont continuer de fonctionner ? Tout d'abord, empruntons le chemin de la méthode classique.
  • En bas de la fenêtre Excel, cliquer sur l'onglet Hamalibou,
  • Puis, avec la touche MAJ enfoncée, cliquer sur le dernier onglet nommé Doeuf,
Cette astuce permet de réunir les feuilles, de la deuxième à la sixième, dans une même sélection.
  • Cliquer droit sur l'un des onglets sélectionnés,
  • Dans le menu contextuel, choisir la commande Masquer,
Masquer plusieurs feuilles du classeur Excel en même temps

Toutes les feuilles sélectionnées disparaissent aussitôt.

Et si toutefois vous en doutiez, elles sont invisibles pour l'utilisateur mais restent disponibles pour Excel. Pour le constater, il suffit de changer les noms des commerciaux à l'aide des deux listes déroulantes. Et ce sont bien les informations issues des feuilles respectives qui sont rapatriées et confrontées, bien que masquées. Cependant, il est très simple d'ôter cette pseudo-protection.
  • Cliquer droit sur l'onglet AdresseIndirect,
  • Dans le menu contextuel, choisir la commande Afficher,
  • Dans la boîte de dialogue, sélectionner les cinq feuilles à l'aide de la touche MAJ,
  • Puis, cliquer sur le bouton Ok,
Ré-afficher toutes les feuilles masquées en même temps avec Excel

Cette simple manipulation a suffi à exposer de nouveau les sources que nous souhaitions conserver à l'écart. Le résultat serait le même si les feuilles en question avaient été protégées en amont.

Masquer les feuilles de façon sécurisée
Il est donc temps de découvrir la méthode qui offre plus de sécurité à l'administrateur pour masquer réellement les feuilles avec un niveau de protection nettement amélioré. De plus, il a la possibilité de les rendre définitivement inaccessibles même à l'égard des utilisateurs les plus aguerris.
  • Réaliser le raccourci clavier ALT + F11 pour basculer dans l'éditeur VBA Excel,
  • En haut de la fenêtre de l'éditeur, cliquer sur le menu Affichage,
  • En bas des propositions, choisir l'option Fenêtre Propriétés,
Cette action a pour effet d'afficher la fenêtre Propriétés dans votre environnement, si d'aventure elle n'était pas disponible. Elle se greffe en général sur la gauche de l'interface, sous l'explorateur de projet.
  • Dans l'explorateur de projet, cliquer sur l'élément Feuil2 (Hamalibou),
  • Dans sa fenêtre Propriétés, basculer la valeur de l'attribut Visible sur : 2 - XlSheetVeryHidden,
Traduction littérale : Feuille Excel vraiment masquée. Et à ce titre, vous notez qu'il existe aussi la valeur xlSheetHidden. Elle correspond au masquage classique, comme nous l'avons entrepris manuellement depuis la feuille.

Il convient ensuite de reproduire le réglage pour les feuilles suivantes. Mais attention, une feuille "très masquée" n'est plus disponible. Donc, l'éditeur repose la sélection sur la première feuille, celle d'ailleurs qui doit rester visible. Il n'est en effet pas possible de masquer toutes les feuilles d'un classeur. L'une d'entre elles au moins doit rester disponible. Donc, il convient à chaque fois de sélectionner la feuille suivante et d'agir sur la propriété Visible de sa feuille de Propriétés.

Masquer les feuilles du classeur Excel avec sécurité

Si vous revenez sur le classeur Excel après avoir enregistré les modifications, vous constatez en effet que seule la feuille d'accueil est présente. Toutes les autres ont disparu. Et si vous cliquez droit sur son onglet, vous remarquez que la commande Afficher est indisponible.

Empêcher d-afficher les feuilles masquées avec Excel

Et comme l'accès à l'éditeur VBA Excel peut être verrouillé par un mot de passe, le comportement de ces feuilles masquées peut-être définitivement et exclusivement régi par l'administrateur.

 
Sur Facebook
Sur Youtube
Les livres
Contact
Mentions légales



Abonnement à la chaîne Youtube
Partager la formation
Partager sur Facebook
Partager sur Twitter
Partager sur LinkedIn