Accueil | Ce site | CV | Excel | Livre d’or | Macros XL4 | Modèles | VBA

 Protection des données

Excel offre plusieurs types de protection, dont l’usage n'est pas le même.

Protection du document


Fig. 1 - Options permettant d’attribuer un mot de passe pour l’accés et/ou l’écriture, lors de l’enregistrement

Lorsqu’on enregistre un document, le dialogue comporte un bouton “Options”, donnant accès à un nouveau dialogue (figure 1) permettant d’introduire un ou deux mots de passe :


Fig. 2 - Quelqu’un qui ignore le mot de passe permettant l’écriture peut ouvrir le document en lecture seule

Protection du classeur

On accède à la protection d’un classeur par le sous-menu “Protection” du menu “Outils” (figure 3). Cette protection est moins fondamentale. Elle empêche en particulier de rajouter ou de supprimer des feuilles, de les renommer.


Fig. 3 - La commande permettant de protéger un classeur.

Selon moi, l’intérêt principal de cette option est que lorsque on emploie VBA pour manipuler un classeur, cette protection permet d’éviter de mauvaises surprises : on ne risque pas la survenue d’un message d’erreur parce qu’une feuille intitulée “Budget” a été renommée par l’utilisateur “Budget 2002”.

Protection de feuille(s)

Dans une entreprise, si quelqu’un de compétent met en place un modèle destiné à être utilisé par plusieurs personnes, rien ne garantit la pérennité du modèle : il suffit que quelqu’un écrase ou modifie, volontairement ou non, une formule qui n’aurait pas dû l’être, pour que le modèle cesse d’être valable.

Protéger les feuilles du classeur par un mot de passe représente une parade possible. L’accès se fait par les mêmes menu et sous-menu que pour protéger un classeur (figure 3). Par défaut, l’effet de cette protection est d’empêcher la modification de toute cellule de la feuille. Cette protection grise également de nombreuses commandes des menus : par exemple, il n’est plus possible de supprimer ni d’insérer des cellules ; aucun élément de formatage n’est accessible, sauf renommer ou masquer la feuille.

Cependant, il est possible de moduler les restrictions sur tout ou partie des cellules. Si on examine l’onglet “Protection” (figure 4) du dialogue affiché lorsque l’on choisit la commande “Cellule…” du menu “Format”, on constate que par défaut, toutes les cellules sont verrouillées, et qu’aucune n’est masquée. Comme l’indique explicitement le dialogue de la figure 4, le verrouillage et le masquage n’ont aucune incidence tant que la feuille n’est pas protégée.


Fig. 4 - L’onglet protection permet de déverrouiller certaines cellules
afin qu’elles restent accessibles, une fois la feuille protégée.

Verrouillage des cellules

L’impossibilité de modifier une cellule quand la feuille est protégée ne concerne que les cellules verrouillées, ce qui est, nous l’avons vu, le statut par défaut. Il est donc possible de laisser à l’utilisateur d’un modèle protégé, la possibilité de modifier le contenu (pas le formatage) de certaines cellules. Il suffit pour cela de déverrouiller les cellules que l’on veut laisser accessibles avant de protéger la feuille. Coupler le déverrouillage de certaines cellules et la protection des feuilles avec un mot de passe, améliore fortement la stabilité des modèles. Dans ces conditions, l’utilisateur ne peut plus provoquer de dégât par maladresse ou incompétence.

La conception de modèles de ce type n’est applicable que si l’utilisateur a pour seule tâche de saisir au plus quelques paramètres dans une feuille de calcul. Par exemple, un modèle de facture contenant les formules correspondant au HT, à la TVA et au TTC.

En revanche, le déverrouillage ne permet pas d’insérer ou de supprimer des lignes si la feuille est protégée. Pour en revenir au modèle de facture, s’il prévoit 15 lignes différentes pour les articles à facturer, l’utilisateur ne pourra en aucun cas adapter le modèle pour facturer 16 articles si nécessaire.

Pour aller plus loin, il faut associer la protection des feuilles et l’emploi de VBA, le langage de programmation intégré à Excel. Il est alors possible de créer des applications avec des feuilles protégées, modifiables exclusivement par des menus et des zones de dialogues. Les feuilles sont alors déprotégées par programmation, pour la durée des traitements, puis reprotégées avant que l’utilisateur ne récupère la main.

Masquage des formules

Le masquage des cellules a pour seul effet de masquer les formules dans la barre de formule (figure 5).


Fig. 5 - La barre de formules affiche la formule entrée dans la cellule active

Si la cellule est masquée et la feuille protégée, la barre de formule n’affiche plus rien (figure 6).


Fig. 6 - Après protection, si la cellule active est masquée, sa formule n’est plus visible

Le masquage a un intérêt presque anecdotique. Il évite que l’utilisateur soit effrayé par des formules relativement complexes, et permet de masquer aux tiers la façon dont un tableau est conçu.

Conclusion

Selon moi, le plus important en pratique est la protection des feuilles, éventuellement couplée au déverrouillage de certaines cellules. L’emploi de VBA supprime les limites liées à la protection en permettant, par programmation, de modifier les feuilles, grâce à une déprotection provisoire, obtenue par 2 procédures, Deprotege et Protege.