Il est possible de protéger les macros par un mot de passe afin d’empêcher leur modification ou leur exécution. Je vous montre comment faire dans cet article.
Protéger l’édition des macros par un mot de passe
Pour empêcher l’édition des macros, allez dans l’éditeur de macros et faites un clic-droit sur l’un des éléments du projet VBA,puis choisissez Propriétés de VBAProject
Dans le menu propriétés qui s’ouvre ensuite, allez dans la partie Protection, cochez la case Verrouiller et entrez deux fois votre mot de passe.
Sauvez ensuite votre fichier puis réouvrez-le et essayer de modifier le code dans l’éditeur VBA: une fenêtre s’ouvre pour vous demander le mot de passe. Vous ne pouvez plus modifier le code VBA sans ce mot de passe.
Vous pouvez cependant exécuter les macros sans problème comme d’habitude
Empêcher l’exécution de macros VBA avec un mot de passe
Il est possible d’empêcher l’exécution du code en ajoutant un mot de passe dans la macro. Attention, l’édition doit également être protégée sinon n’importe qui peut lire le mot de passe en dur dans le code de la macro!
Pour cela nous allons ajouter une boite de dialogue qui demande le mot de passe et exécute le reste la la macro si il est correct, et renvoie un message d’erreur sinon.
Copiez le code suivant pour ajouter une protection par mot de passe (le mot de passe est « votremotdepasse »)
Sub macro_protegee() Dim reponse As Variant reponse = Application.InputBox("Entrez le mot de passe pour continuer", "Macro protégée") Select Case reponse Case Is = False 'Si on appuie sur annuler: on ne fait rien Case Is = "votremotdepasse" 'Rentrez votre code ici MsgBox ("Exécution du code!") Case Else 'mauvais mot de passe MsgBox "Le mot de passe est incorrect" End Select End Sub |
Lorsque la macro est exécutée, une boite de dialogue apparait vous demandant de rentrer le mot de passe pour continuer.