COMMENT MASQUER DÉFINITIVEMENT ET AUTOMATIQUEMENT UNE FEUILLE DE CALCUL EXCEL
Dans ce tutoriel, je vais vous montrer la technique qui permet de cacher véritablement une feuille de calcul dans Excel. Nous y découvrirons trois méthodes. La première d’entre elles est la méthode classique que tout le monde utilise pour masquer l’existence d’une feuille de calcul Excel. La seconde méthode que nous allons découvrir est quant à elle est beaucoup plus efficace et permet de totalement empêcher de savoir qu’une feuille de calcul existe au sein d’un classeur. Enfin, la troisième et dernière méthode que nous allons découvrir permet d’automatiser totalement le processus de masquage de la feuille..
Téléchargement
Vous pouvez télécharger le fichier d'exemple de cet article en cliquant sur le lien suivant :
Tutoriel Vidéo
1. La méthode classique
Pour illustrer les différentes méthodes que nous allons découvrir dans ce tutoriel, nous disposons du document test suivant :
Comme vous pouvez le constater, celui-ci est remplie d’informations strictement confidentielles, qu’il est important de garder à l’abri des regards indiscrets, même lorsque nous devrons partager le fichier Excel.
La première méthode que nous allons voir, est la méthode dite classique, que tout le monde utilise.
En effet, c’est la méthode la plus intuitive et la plus simple à mettre en place.
Pour cela, il suffit d’effectuer un clic-droit sur le nom de l’onglet de la feuille et de choisir l’option « Masquer » :
À ce moment-là, la feuille de calcul disparait et il n’est plus possible de la sélectionner et de l’afficher.
Sauf que la méthode pour la réafficher est tout aussi simpliste !
Il suffit en effet d’effectuer un clic-droit sur n’importe quel onglet et de choisir l’option « Afficher » (cette option est grisée tant qu’aucune feuille n’est masquée) :
Ce qui permet d’afficher une fenêtre dans laquelle nous allons retrouver l’ensemble des feuilles de calcul masquées au sein du classeur.
Il suffit alors de choisir la feuille en question, puis de valider en cliquant sur le bouton [OK].
Pour empêcher d’afficher cette fenêtre, il est possible de verrouiller la structure du classeur.
Pour cela, nous nous rendons simplement dans le menu Révision du Ruban afin de cliquer sur le bouton Protéger le classeur :
Nous sommes alors invités à saisir un mot de passe pour protéger la structure de la feuille :
À présent, il n’est plus possible de sélectionner l’option Afficher depuis le clic-droit sur le nom de l’onglet, celui-ci reste grisé et inaccessible :
Par contre, il sera alors nécessaire de désactiver la protection pour accéder à nouveau à l’option, puis reprotéger ensuite, etc …
2. La méthode évoluée
Voyons maintenant une nouvelle méthode qui va nous permettre de masquer une feuille de calcul, mais en rendant celle-ci totalement invisible !
Pour cela, il va être nécessaire d’afficher l’éditeur de code VBE.
Pour cela, rendez-vous dans le menu Développeur du Ruban > Visual Basic.
Si le menu Développeur n’est pas présent, nous pouvons l’afficher en utilisant les touches [Alt]+[F11] :
Comme vous pouvez alors le constater, l’onglet est toujours visible à cet endroit depuis la fenêtre de navigation du projet, alors que le classeur est toujours protégé…
Si nous cliquons sur la feuille correspondante, nous pouvons alors consulter le statut de celle-ci :
Nous retrouvons en effet la propriété Visible, laquelle a pour valeur xlSheetHidden.
Bien entendu, il n’est pas possible de modifier cette propriété tant que le classeur est protégé !
Excel nous affiche en effet un message d’erreur.
En revanche, maintenant que nous connaissons le nom de la feuille, il est possible d’aller retrouver des valeurs de ces cellule sans avoir accès à la dite feuille !
Il suffit en effet de faire référence aux cellules depuis une feuille visible.
(Dans ce cas là, la seule solution pour protéger durablement vos données consiste à utiliser L'Encodeur afin de crypter le contenu des cellules. Cliquez ici pour en savoir plus)
Pour aller plus loin, nous allons donc devoir déprotéger la feuille, toujours depuis le menu Révision :
Cela étant fait, nous pouvons sans problème réafficher la feuille de calcul en utilisant, soit la technique vue plus tôt, soit en modifiant la propriété de la feuille depuis l’interface de VBE :
Ensuite, et comme vous pouvez le voir ici, il existe une troisième valeur que nous pouvons donner à la feuille qui est la valeur xlSheetVeryHidden, c’est-à-dire que la feuille sera alors vraiment masquée, y compris depuis la fenêtre d’affichage des feuilles de calculs !
Il est ensuite possible d’affecter un mot de passe au projet VBA afin d’empêcher l’affichage du projet (Clic-droit > Propriétés de VBAProject) :
Puis dans l’onglet Protection, il convient de cocher l’option Verrouiller le projet pour l’affichage et de saisir un mot de passe :
3. Automatiser la méthode évoluée
Dans les deux méthodes que nous venons de découvrir, l’inconvénient est que nous devrons masquer à nouveau les feuilles avant chaque fermeture du classeur pour être sûr que celles-ci ne soient pas accessibles.
Heureusement il est possible d’automatiser cette procédure en insérant la macro suivante dans la feuille de code du classeur (en double cliquant sur la feuille ThisWorkbook depuis la fenêtre de navigation du projet dans VBE) :
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sheets("CONFIDENTIEL").Visible = xlSheetVeryHidden
End Sub
Nous nous contentons d’intercepter l’événement BeforeClose, qui se lance automatiquement avant de fermer le classeur pour automatiser la modification de la propriété Visible.
Attention, lors de la fermeture du fichier, Excel proposera d'enregistrer le fichier. Il est en effet nécessaire de l'enregistrer pour tenir compte des modifications vues ici
Il suffit alors de relancer le classeur pour constater que la feuille est à nouveau rendue invisible.
(Attention toutefois de bien enregistrer au préalable le fichier en tant que fichier *.xlsm afin de conserver l’enregistrement de la macro VBA).