Désolé pour le mot urgent mais voilà mon problème. Une macro Excel génére
des numéros de questionnnaires .Si on protège le projet visual basic par un
mot de passe, on ne peut pas sauvegarder le fichier généré. Il y a plus de
800 fichiers a généré, ce qui veut dire que si l'on veut protéger les
projets, il faut ouvrir les 800 fichiers. Malheureusement .. pas le temps.
:-(
Est-il possible de déprotéger et de re-protéger le projet par le code ??
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
anonymousA
bonjour,
comprends pas tout dans ta demande, en fait surtout la raison initiale. Mais voivi un exemple de code pour proteger et déproteger un projet VBA par programmation. A adapter à ta demande bien sur
'=============== Sub TestProtect() ProtectVBProject Workbooks("Perso.xls"), "zaza" End Sub
Sub TestUnprotect() UnprotectVBProject Workbooks("Perso.xls"), "zaza" 'pour qu'Excel reconnaisse la nouvelle situation (déprotection) DoEvents With Workbooks("Perso.xls") 'ajout d'un module standard .VBProject.VBComponents.Add 1 End With 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 & "~"
Désolé pour le mot urgent mais voilà mon problème. Une macro Excel génére des numéros de questionnnaires .Si on protège le projet visual basic par un mot de passe, on ne peut pas sauvegarder le fichier généré. Il y a plus de 800 fichiers a généré, ce qui veut dire que si l'on veut protéger les projets, il faut ouvrir les 800 fichiers. Malheureusement .. pas le temps. :-(
Est-il possible de déprotéger et de re-protéger le projet par le code ??
Merci de votre aide
bonjour,
comprends pas tout dans ta demande, en fait surtout la raison initiale. Mais
voivi un exemple de code pour proteger et déproteger un projet VBA par
programmation.
A adapter à ta demande bien sur
'=============== Sub TestProtect()
ProtectVBProject Workbooks("Perso.xls"), "zaza"
End Sub
Sub TestUnprotect()
UnprotectVBProject Workbooks("Perso.xls"), "zaza"
'pour qu'Excel reconnaisse la nouvelle situation (déprotection)
DoEvents
With Workbooks("Perso.xls")
'ajout d'un module standard
.VBProject.VBComponents.Add 1
End With
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 & "~"
Désolé pour le mot urgent mais voilà mon problème. Une macro Excel génére
des numéros de questionnnaires .Si on protège le projet visual basic par un
mot de passe, on ne peut pas sauvegarder le fichier généré. Il y a plus de
800 fichiers a généré, ce qui veut dire que si l'on veut protéger les
projets, il faut ouvrir les 800 fichiers. Malheureusement .. pas le temps.
:-(
Est-il possible de déprotéger et de re-protéger le projet par le code ??
comprends pas tout dans ta demande, en fait surtout la raison initiale. Mais voivi un exemple de code pour proteger et déproteger un projet VBA par programmation. A adapter à ta demande bien sur
'=============== Sub TestProtect() ProtectVBProject Workbooks("Perso.xls"), "zaza" End Sub
Sub TestUnprotect() UnprotectVBProject Workbooks("Perso.xls"), "zaza" 'pour qu'Excel reconnaisse la nouvelle situation (déprotection) DoEvents With Workbooks("Perso.xls") 'ajout d'un module standard .VBProject.VBComponents.Add 1 End With 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 & "~"
Désolé pour le mot urgent mais voilà mon problème. Une macro Excel génére des numéros de questionnnaires .Si on protège le projet visual basic par un mot de passe, on ne peut pas sauvegarder le fichier généré. Il y a plus de 800 fichiers a généré, ce qui veut dire que si l'on veut protéger les projets, il faut ouvrir les 800 fichiers. Malheureusement .. pas le temps. :-(
Est-il possible de déprotéger et de re-protéger le projet par le code ??