Protéger une macro dans Excel VBA

Tout comme vous pouvez protéger par mot de passe les classeurs et les feuilles de calcul, vous pouvez protéger par mot de passe une macro dans Excel contre la visualisation (et l’exécution).

Placez un bouton de commande sur votre feuille de calcul et ajoutez les lignes de code suivantes:

1- Commencez par créer une macro simple que vous souhaitez protéger.

Sub ProtecMacro()
Range("A1").Value = "Ceci est un code secret"
End Sub

 

2- Ensuite, cliquez sur Outils, Propriétés VBAProject.

3- Dans l’onglet Protection, cochez “Verrouiller le projet pour l’affichage” et entrez deux fois un mot de passe.

4- Cliquez sur OK.

5- Enregistrez, fermez et rouvrez le fichier Excel. Essayez d’afficher le code. La boîte de dialogue suivante apparaît:

Vous pouvez toujours exécuter le code en cliquant sur le bouton de commande mais vous ne pouvez plus afficher ou modifier le code (sauf si vous connaissez le mot de passe). Le mot de passe pour le fichier Excel téléchargeable est “facile”.

6- Si vous souhaitez protéger par mot de passe l’exécution de la macro, ajoutez les lignes de code suivantes:

Dim MotDePasse As Variant
MotDePasse = Application.InputBox("Entrer mot de passe", "Protection du mot de passe")
Select Case MotDePasse
Case Is = False
'ne fais rien
Case Is = "facile"
Range("A1").Value = "C'est le code secret"
Case Else
MsgBox "Mot de passe incorrect"
End Select

Résultat lorsque vous cliquez sur le bouton de commande sur la feuille:

Explication: La macro utilise la méthode InputBox de l’objet Application. Si les utilisateurs cliquent sur Annuler, cette méthode renvoie False et rien ne se produit (InputBox disparaît). Ce n’est que lorsque l’utilisateur connaît à nouveau le mot de passe (“facile”) que le code secret sera exécuté. Si le mot de passe entré est incorrect, une MsgBox s’affiche. Notez que l’utilisateur ne peut pas consulter le mot de passe dans Visual Basic Editor car le projet est protégé contre l’affichage.

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x