Dévérouiller VBAProject via une macro

Bonjour a tous,

J'ai un fichier excel dans lequel j'ai codé des macro. Le code va être protégé par un Mdp.

Pour faciliter la maintenance, mise à jour, etc, j'ai créé un userform "admin" qui permet de déverrouiller tout d'un coup (classeur, feuille, faire apparaitre les feuilles VeryHidden). Ça, c'est fonctionnel.

La ou je bloque c'est sur le déverrouillage du VBAProject.

En surfant sur le net j'ai plusieurs fois trouvé le code ci-dessous. Le Userform demande a ce que l'on complète un Id et un Mdp. Si les deux sont bons, alors le code va appeler la macro UnProtectVBA. sMdP est une Public Const.

Sub UnProtectVBA()
    UnprotectVBProject ActiveWorkbook, sMdP
 End Sub

Sub UnprotectVBProject(wb As Workbook, ByVal Password As String)
   Dim vbProj As Object
   Set vbProj = wb.VBProject
   'Ne peut procéder si le projet est non-protégé.
   If vbProj.Protection <> 1 Then Exit Sub
   Set Application.VBE.ActiveVBProject = vbProj
   'Utilisation de "SendKeys" Pour envoyer le mot de passe.
   SendKeys Password & "~~"
   Application.VBE.CommandBars(1).FindControl(ID:=2578, recursive:=True).Execute
End Sub

Malheureusement j'ai l'erreur suivante.

image

Pourriez-vous m'aider svp?

Je vous remercie par avance

Bastien

Bonjour,

Regardez au niveau des options excel le niveau de securite pour les macros...

@ bientôt

LouReeD

merci

Pas de quoi, mais est ce réglé ?

@ bientôt

LouReeD

Hello

Excuse-moi pour ma réponse tardive. J' t'avais dit merci pour ta réponse en pensant la tester rapidement, mais j'ai été un peu débordé ....

Avant de tester j'aurais une question qui m'est venue a l'esprit. Est-ce que cette option est inhérente au logiciel ou bien au classeur?

Je veux dire par la, si je change cette option, est-ce que cela sera enregistrer dans le classeur et valable pour un utilisateur également ou bien seulement valable sur mon pc a moi?

Rechercher des sujets similaires à "deverouiller vbaproject via macro"