Comment protéger le code VBA par un mot de passe

Pour toute sorte de raisons, il est souvent souhaitable de protéger par un mot de passe le code VBA qui accompagne votre Classeur Excel. Que ce soit pour prévenir des fausses manipulations ou d'empêcher l'utilisateur de modifier le code intentionnellement.  De nos jours, un peu plus de sécurité ne peut pas faire de mal.

Pourquoi protéger son code VBA par un mot de passe?

Une des raisons pour une protection du code VBA est que si l'utilisateur a accès au code VBA et aux propriétés de votre Projet, il peut tout modifier. Il peut, entre autres, désactiver les protections que vous avez mis en place dans votre fichier, afficher les Feuilles cachées ou même injecter du code malicieux qui pourrait faire tort à d'autres utilisateurs.

Si, par exemple, votre code VBA contient un système de gestion des utilisateurs, celui qui a accès à votre code peut soit le modifier, soit le désactiver (il peut également modifier le contenu des événements tel que Workbook_Open).

Une protection par un mot de passe n'est donc pas de trop… Même si, avouons-le, cette protection n'est pas 100% inviolable. Mais au moins, elle empêchera la grande majorité des utilisateurs de vouloir jouer aux apprentis hackeurs.

Si vous cherchez une solution fiable au maximum (même si ce ne sera jamais à 100%), vous devrez vous tourner vers des solutions plus robustes comme le .NET etc.

Commet ajouter un mot de passe au code VBA?

Ajouter un mot de passe est très simple. Dans le VBE ("Visual Basic Editor", donc dans l'éditeur VBA), vous effectuez la procédure suivante:

  1. Faites un clic droit sur le nom de votre Projet (dans la partie supérieure de la fenêtre qui se situe à gauche)
    VBA: protéger le projet par un mot de passe - étape 1
  2. Cliquez sur "Propriétés de NomDeVotreProjet"
    VBA: protéger le projet par un mot de passe - étape 2
  3. dans la fenêtre qui apparaît: vous cliquez sur l'onglet "Protection", vous cochez la case "Verrouiller le projet pour affichage", vous introduisez le mot de passe et vous confirmez en cliquant sur "OK"
    VBA: protéger le projet par un mot de passe - étape 3

Une fois le Classeur sauvegardé, il sera protégé par un mot de passe. Celui qui voudrait ensuite voir les propriétés du Projet ainsi que le code VBA aura droit à une fenêtre pop-up lui demandant d'introduire le mot de passe.
Attention : si vous perdez le mot de passe de votre projet, vous êtes mal. Comme je l'ai mentionné plus haut, une technique permet de passer outre. Cependant, le nombre des personnes qui la connaissent et qui peuvent s'en servir est relativement limité. Il vaut donc mieux de bien retenir (ou noter quelque part) votre mot de passe

Changer ou supprimer le mot de passe du code VBA

Tout comme il est possible d'ajouter un mot de passe à votre Projet VBA, il est aussi possible de le changer ou le supprimer.

La procédure est exactement la même que pour l'ajouter – ce qui change c'est que pour pouvoir changer ou supprimer le mot de passe, vous devez d'abord le connaître pour pouvoir faire les modifications.

Donc avant d'effectuer les 3 étapes décrites plus haut, vous devrez d'abord déverrouiller le Projet VBA avec le mot de passe existant.

Sachez que pour supprimer le mot de passe, il suffit de le laisser les deux cases ("Mot de passe" et "Confirmer le mot de passe") vides, confirmer et sauvegarder.

Pour aller plus loin en VBA

Maintenant que vous savez protéger votre code, voici quelques autres articles qui pourraient vous être utiles…

 

Laissez un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

4 commentaires sur “Comment protéger le code VBA par un mot de passe”