Accueil | Ce site | CV | Excel | Livre dor | Macros XL4 | Modèles | VBA
Excel offre plusieurs types de protection, dont lusage n'est pas le même.

Fig. 1 - Options permettant dattribuer un mot de passe pour laccés et/ou lécriture, lors de lenregistrement
Lorsquon enregistre un document, le dialogue comporte un bouton Options, donnant accès à un nouveau dialogue (figure 1) permettant dintroduire un ou deux mots de passe :

Fig. 2 - Quelquun qui ignore le mot de passe permettant lécriture peut ouvrir le document en lecture seule
On accède à la protection dun 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, linté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 dun message derreur parce quune feuille intitulée Budget a été renommée par lutilisateur Budget 2002.
Dans une entreprise, si quelquun 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 quelquun écrase ou modifie, volontairement ou non, une formule qui naurait 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. Laccès se fait par les mêmes menu et sous-menu que pour protéger un classeur (figure 3). Par défaut, leffet de cette protection est dempêcher la modification de toute cellule de la feuille. Cette protection grise également de nombreuses commandes des menus : par exemple, il nest plus possible de supprimer ni dinsérer des cellules ; aucun élément de formatage nest accessible, sauf renommer ou masquer la feuille.
Cependant, il est possible de moduler les restrictions sur tout ou partie des cellules. Si on examine longlet Protection (figure 4) du dialogue affiché lorsque lon choisit la commande Cellule du menu Format, on constate que par défaut, toutes les cellules sont verrouillées, et quaucune nest masquée. Comme lindique explicitement le dialogue de la figure 4, le verrouillage et le masquage nont aucune incidence tant que la feuille nest pas protégée.

Fig. 4 - Longlet protection permet de déverrouiller certaines cellules
afin quelles restent accessibles, une fois la feuille protégée.
Verrouillage des cellules
Limpossibilité de modifier une cellule quand la feuille est protégée ne concerne que les cellules verrouillées, ce qui est, nous lavons vu, le statut par défaut. Il est donc possible de laisser à lutilisateur dun 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 lon 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, lutilisateur ne peut plus provoquer de dégât par maladresse ou incompétence.
La conception de modèles de ce type nest applicable que si lutilisateur 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 dinsérer ou de supprimer des lignes si la feuille est protégée. Pour en revenir au modèle de facture, sil prévoit 15 lignes différentes pour les articles à facturer, lutilisateur 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 lemploi 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 lutilisateur 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 naffiche plus rien (figure 6).

Fig. 6 - Après protection, si la cellule active est masquée, sa formule nest plus visible
Le masquage a un intérêt presque anecdotique. Il évite que lutilisateur soit effrayé par des formules relativement complexes, et permet de masquer aux tiers la façon dont un tableau est conçu.
Selon moi, le plus important en pratique est la protection des feuilles, éventuellement couplée au déverrouillage de certaines cellules. Lemploi 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.