Enlever temporairement la protection VBA

Bonjour forum!

J'ai trouvé un post concernant ce sujet il y a 2 ans mais il n'a pas été résolu alors je tente ma chance!

J'ai créé un fichier excel contentant beaucoup de macro. Étant donné que plusieurs l'employés l'utilise, j'ai activé la protection du VBA pour ne pas que ceux-ci puissent voir les macros et ma programmation VBA.

Puisque les employés ont des versions différentes d'excel, j'ai activé la formule à l'ouverture pour enlever les éléments manquants dans références de VBA.

Par contre, étant donné que le VBA est protégé par mot de passe (j'ai bien sûr le mot de passe), j'ai un message d'erreur car il ne peut exécuter la commande.

Je cherche donc le code qui va me permettre d'enlever temporairement la protection VBA le temps que la macro pour les références s'exécute (j'ai déjà la formule pour supprimer ces références manquantes) et par la suite, de réactiver la protectionm du VBA.

Un ÉNORME merci pour votre aide!!!

Bonjour Mipi,

As-tu trouvé une solution a ton problème depuis le temps ?

Je suis sur la même problématique.

Cordialement.

Ch@p'

bonjour,

une possibilité :

 Sub TestUnProtectVBA()
   UnprotectVBProject ActiveWorkbook, "TonMotDePasse" 
 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

A+

Merci

Cordialement.

Ch@p'

Rechercher des sujets similaires à "enlever temporairement protection vba"