Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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?
 
Re : protéger Projet VBA par mot de passe grâce à une macro

Bonjour,

il faut passer les arguments à la procédure...
Code:
Sub TestProtect()
ProtectVBProject Workbooks("Classeur1.xls"), "motdepasse"
End Sub

bon après midi
@+
 
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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…