protéger Projet VBA par mot de passe grâce à une macro

  • Initiateur de la discussion Initiateur de la discussion Oranger
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Oranger

XLDnaute Occasionnel
Bonjour,

Je chercher à protéger par mot de passe un projet VBA. j'ai trouvé sur internet le code suivant de Bill Manville mais ça ne fonctionne pas:

Sub ProtectVBProject(WB As Workbook, ByVal Password As String)
Dim vbProj As Object

Set vbProj = WB.VBProject

'can't do it if already locked!
If vbProj.Protection = 1 Then Exit Sub

Set Application.VBE.ActiveVBProject = vbProj

' now use lovely SendKeys to set the project password
SendKeys "+{TAB}{RIGHT}%V{+}{TAB}" & Password & "{TAB}" & _
Password & "~"

Application.VBE.CommandBars(1).FindControl(ID:%78,
recursive:=True).Execute

WB.Save
End Sub

Quelqu'un aurait il des indications sur comment faire pour protéger un projet VBA d'un classeur?
 
Bonjour oranger et le forum.

Il faut aller dans le VBA (ALT + F11), puis clic droit sur microsoft excel objet dans fenêtre de gauche puis propriétés de VBAProject
puis prtection et vous y voilà.

A +

Edit bonjour pierrot et encore en retard. 🙂
 
Re : protéger Projet VBA par mot de passe grâce à une macro

Re,

dans ta déclaration de procédure, "workbook" sans s
Code:
Sub ProtectVBProject(WB As Workbook, ByVal Password As String)

A noter, ton code serait mieux placer dans un module standard plutôt que dans le module d'une feuille.....
 
Re : protéger Projet VBA par mot de passe grâce à une macro

Le code ne fonctionne pas. Voilà ce que j'obtiens dans mon code:

Sub ProtectVBProject(WB As Workbook, ByVal Password As String)
Dim vbProj As Object

Set vbProj = WB.VBProject

'can't do it if already locked!
If vbProj.Protection = 1 Then Exit Sub

Set Application.VBE.ActiveVBProject = vbProj

' now use lovely SendKeys to set the project password
SendKeys "+{TAB}{RIGHT}%V{+}{TAB}" & Password & "{TAB}" & _
Password & "~"

epasse motdepasse
Application.VBE.CommandBars(1).FindControl(ID:=78, recursive:=True).Execute

WB.Save
End Sub

Le sendkey écrit mot de passe dans mon code et mon projet n'est pas protégé :s
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour