![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Guest
Messages: n/a
|
Bonjour,
Dans la macro suivante je recopie un module dans un classeur que je crée. Quel est le code pour que la macro du classeur soit protégée par mot de passe ? Dim S As String, Wbk As Workbook Set Wbk = Workbooks("Perso.xls") With Wbk.VBProject.VBComponents("Module7").CodeModule S = .Lines(1, .CountOfLines) End With ActiveWorkbook.VBProject.VBComponents.Add 1 With ActiveWorkbook.VBProject.VBComponents("Module1").C odeModule .AddFromString S End With Merci au forum |
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
Guest
Messages: n/a
|
bonjour patrick ,
Oui, voici un exemple complet, le code est de Chip Pearson : Sub TestProtect() ProtectVBProject Workbooks("Proteger_deproteger.xls"), "motdepasse" End Sub Sub TestUnprotect() UnprotectVBProject Workbooks("Proteger_deproteger.xls"), "motdepasse" 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:=257 8, 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:=257 8, recursive:=True).Execute WB.Save End Sub isabelle |
| Liens sociaux |
| Outils de la discussion | |
|
|