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

Modifier macros d'un classeur protégé

agnèsk

XLDnaute Nouveau
Voici la macro que j'ai placée dans un classeur =(Réparation.xls)


1-Workbooks.Open Filename:="...Classeur1.xls" (Classeur à modifier mais protegé par mot passe VBA)

2-Set Application.VBE.ActiveVBProject = Workbooks(Classeur1.xls).VBProject

3-SendKeys "(^)+{Enter}" & "Mon Mot de passe" & "{ENTER}"

4-With Workbooks(Classeur1.xls).VBProject.VBComponents("MonUserform").CodeModule


Le code bug à 4
Il semble que le classeur ne soit pas activé dans le vba, donc le 3 n'est pas pris en compte et le classeur toujours protégé en vba !
J'ai essayé en temporisant entre les lignes de codes sans succès.

Quelqu'un aurait il une piste?
 

PMO2

XLDnaute Accro
Re : Modifier macros d'un classeur protégé

Bonjour,

Une piste avec le code de Bill Manville

Code:
'Protéger et déprotéger le projet d'un classeur
'par macro
'Code de Bill Manville
'diffusé sur mpfe par papou

Sub TestProtect()
ProtectVBProject Workbooks("Proteger_deproteger.xls"), "Jack"
End Sub

Sub TestUnprotect()
UnprotectVBProject Workbooks("Proteger_deproteger.xls"), "Jack"
End Sub

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

Set vbProj = WB.VBProject

'can't do it if already unlocked!
If vbProj.Protection <> 1 Then Exit Sub

Set Application.VBE.ActiveVBProject = vbProj

' now use lovely SendKeys to quote the project password
SendKeys Password & "~~"
Application.VBE.CommandBars(1).FindControl(ID:%78,
recursive:=True).Execute
End Sub

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

Cordialement.

PMO
Patrick Morange
 

agnèsk

XLDnaute Nouveau
Re : Modifier macros d'un classeur protégé

bonsoir

merci pour cette piste...que j'avais déjà explorée

mais elle produit le me^me résultat
à savoir la fenetre de saisie du mot de passe vba apparait toujours !

je suis preneur d'une autre piste
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…