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é

  • Initiateur de la discussion Initiateur de la discussion agnèsk
  • 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 !

A

agnèsk

Guest
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?
 
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
 
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
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
643
O
Réponses
5
Affichages
2 K
C
Réponses
8
Affichages
2 K
Genii
G
C
Réponses
1
Affichages
2 K
M
Réponses
11
Affichages
2 K
Melidan2006
M
B
Réponses
1
Affichages
7 K
BretonBeurre
B
Réponses
0
Affichages
829
S
Réponses
10
Affichages
2 K
sardaucar
S
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…