proteger un code VBA par mot de passe

nrdz83

XLDnaute Impliqué
Bonsoir à tous ,
J'utilise le code ci-dessous et j'aimerais savoir s'il est possibble de proteger cette macro avec un mot de passe.

Je m'explique j'ai réalisé un classeur excel avec consultation par plusieurs personnes et la sauvegarde de ce classeur sur trois adresses.

Mais je veux être le seul à pouvoir enregistrer les modifications.
D'ou ma question est il possible de rajouter un mot de passe à ce code?
Du genre msgbox avec saisi du mot de passe.

D'avance merci à tous pour vos lumières,
amitiés
Code:
Sub enrgcetdocsetreseau()
    ChDir "C:\"
    ActiveWorkbook.SaveAs Filename:="C:\charges moyens nautiques.xls", _
        FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    ChDir _
        "\\srv-bntln5\utilisateursbn$\lepretre-gilbert\travail\charges & formulaires"
    ActiveWorkbook.SaveAs Filename:= _
        "\\srv-bntln5\utilisateursbn$\lepretre-gilbert\travail\charges & formulaires\charges moyens nautiques.xls" _
        , FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    ChDir "O:\gssm\commun gssm\SERVICE MOYENS NAUTIQUES"
    ActiveWorkbook.SaveAs Filename:= _
        "O:\gssm\commun gssm\SERVICE MOYENS NAUTIQUES\charges moyens nautiques.xls", _
        FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
End Sub
 

xstier

XLDnaute Junior
Re : proteger un code VBA par mot de passe

Bonjour,

Oui il est possible de protéger son code trés facilement un clic droit sur le module puis sur propriété du projet
et ensuite onglet protection et on tape le mot de passe le tour est joué

Xavier
 

nrdz83

XLDnaute Impliqué
Re : proteger un code VBA par mot de passe

bonsoir oui je sais j'ai déja des onglets protégé par mot de passe mais j'ai mis un icone dans ma barre de menu auquel j'ai affecté cette maccro. Voila pourquoi je souhaite protéger ce code.
Merci
 

xstier

XLDnaute Junior
Re : proteger un code VBA par mot de passe

Re

J'ai l'impression que mon message précédent n'as pas était bien lu
je parle d'effectuer une opération sur un module dans le VBE
accesible depuis Otions-->Macros-->Visual Basic Editor Basic
et non d'une protection d'onglet

Néamoins cela m'as fait poser une question

Est-il possible d'empêcher les utilisateurs d'affecter une autre macro que celle prévu sur un bouton

Je remercie tout les XLDnautes qui pourront nous apporter un peu de leurs lumières.
Xstier
 

ledzepfred

XLDnaute Impliqué
Re : proteger un code VBA par mot de passe

bonsoir à tous,

si j'ai bien compris, tu souhaites qu'une procédure ne tourne que si on a le mot de passe pour le faire :

essayes donc ceci :
Code:
Sub test()

reponse = InputBox("Mot de passe?")
If reponse <> "vendredi" Then MsgBox ("Mot de passe erroné"): Exit Sub

...code de ta macro
End Sub

L'idéal est de protéger également le module vb contenant le code comme le dit xstier car un simple Alt+F11 et on connait le mot de passe

A+
 

ledzepfred

XLDnaute Impliqué
Re : proteger un code VBA par mot de passe

re...

autre possibilité, executes ce code dans un classeur vide afin de récupérer le username de ton micro:
Code:
Sub TEST()
[a1] = Environ("UserName")
End Sub

si en A1 la valeur est toto, dans ta macro (en début de code) tu pourras écrire :

Code:
If Environ("UserName") <> "toto" Then MsgBox ("Vous n'êtes pas autorisé à procéder à des modifications"): Exit Sub

Ta macro ne tournera que sur ton poste

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 497
Messages
2 088 985
Membres
103 998
dernier inscrit
Gotteland