Bonjour =E0 toutes et =E0 tous !
Voici ma question du jour : comment peut-on prot=E9ger le=20
code d'un classeur par macro ?
Le contexte : je d=E9place une feuille d'un classeur vers un=20
nouveau classeur et enregistre le nouveau classeur sans=20
protection (ni de code, ni de feuille, ni de classeur). Or=20
ladite feuille a quelques lignes de code (des tris simples=20
avec insertion de sous-totaux) que je pr=E9f=E9rerai prot=E9ger=20
des m=E9faits de mes utilisateurs pr=E9f=E9r=E9s...=20
Si quelqu'un sait ou a une piste, merci d'avance ! (et=20
d'ailleurs merci d'avance tout court)
A+
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
denis P
Bonjour Vincent j'ai retrouvé le code donner par Bill Manville dans mes archives. Te convient-il ?
denis p.
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''' '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 & "~"
WB.Save End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''
"Vincent." a écrit dans le message de news:175b01c4dd09$c5ea5750$ Bonjour à toutes et à tous ! Voici ma question du jour : comment peut-on protéger le code d'un classeur par macro ? Le contexte : je déplace une feuille d'un classeur vers un nouveau classeur et enregistre le nouveau classeur sans protection (ni de code, ni de feuille, ni de classeur). Or ladite feuille a quelques lignes de code (des tris simples avec insertion de sous-totaux) que je préférerai protéger des méfaits de mes utilisateurs préférés... Si quelqu'un sait ou a une piste, merci d'avance ! (et d'ailleurs merci d'avance tout court) A+
V.
Bonjour Vincent
j'ai retrouvé le code donner par Bill Manville dans mes archives.
Te convient-il ?
denis p.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''
'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 & "~"
WB.Save
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''
"Vincent." <vincnet.GRRfallas-@t-fr.pwc.com> a écrit dans le message de
news:175b01c4dd09$c5ea5750$a501280a@phx.gbl...
Bonjour à toutes et à tous !
Voici ma question du jour : comment peut-on protéger le
code d'un classeur par macro ?
Le contexte : je déplace une feuille d'un classeur vers un
nouveau classeur et enregistre le nouveau classeur sans
protection (ni de code, ni de feuille, ni de classeur). Or
ladite feuille a quelques lignes de code (des tris simples
avec insertion de sous-totaux) que je préférerai protéger
des méfaits de mes utilisateurs préférés...
Si quelqu'un sait ou a une piste, merci d'avance ! (et
d'ailleurs merci d'avance tout court)
A+
Bonjour Vincent j'ai retrouvé le code donner par Bill Manville dans mes archives. Te convient-il ?
denis p.
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''' '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 & "~"
WB.Save End Sub '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''
"Vincent." a écrit dans le message de news:175b01c4dd09$c5ea5750$ Bonjour à toutes et à tous ! Voici ma question du jour : comment peut-on protéger le code d'un classeur par macro ? Le contexte : je déplace une feuille d'un classeur vers un nouveau classeur et enregistre le nouveau classeur sans protection (ni de code, ni de feuille, ni de classeur). Or ladite feuille a quelques lignes de code (des tris simples avec insertion de sous-totaux) que je préférerai protéger des méfaits de mes utilisateurs préférés... Si quelqu'un sait ou a une piste, merci d'avance ! (et d'ailleurs merci d'avance tout court) A+
V.
anomymousA
bonjour,
on ne peut pas proteger un projet par des instructions avec des mots-clés. On est obligé de simuler la rentrée des élemenst par SendKeys. Il existe plusieurs manières de proteger un code par ce biais. Je t'en communique une qui n'est pas d emoi comme tu pourras le voir dasn l'entête mais elle fonctionne du moins sur ma machine (NT Excel 2000)
'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 & "~"
Bonjour à toutes et à tous ! Voici ma question du jour : comment peut-on protéger le code d'un classeur par macro ? Le contexte : je déplace une feuille d'un classeur vers un nouveau classeur et enregistre le nouveau classeur sans protection (ni de code, ni de feuille, ni de classeur). Or ladite feuille a quelques lignes de code (des tris simples avec insertion de sous-totaux) que je préférerai protéger des méfaits de mes utilisateurs préférés... Si quelqu'un sait ou a une piste, merci d'avance ! (et d'ailleurs merci d'avance tout court) A+
V.
bonjour,
on ne peut pas proteger un projet par des instructions avec des mots-clés.
On est obligé de simuler la rentrée des élemenst par SendKeys. Il existe
plusieurs manières de proteger un code par ce biais. Je t'en communique une
qui n'est pas d emoi comme tu pourras le voir dasn l'entête mais elle
fonctionne du moins sur ma machine (NT Excel 2000)
'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 & "~"
Bonjour à toutes et à tous !
Voici ma question du jour : comment peut-on protéger le
code d'un classeur par macro ?
Le contexte : je déplace une feuille d'un classeur vers un
nouveau classeur et enregistre le nouveau classeur sans
protection (ni de code, ni de feuille, ni de classeur). Or
ladite feuille a quelques lignes de code (des tris simples
avec insertion de sous-totaux) que je préférerai protéger
des méfaits de mes utilisateurs préférés...
Si quelqu'un sait ou a une piste, merci d'avance ! (et
d'ailleurs merci d'avance tout court)
A+
on ne peut pas proteger un projet par des instructions avec des mots-clés. On est obligé de simuler la rentrée des élemenst par SendKeys. Il existe plusieurs manières de proteger un code par ce biais. Je t'en communique une qui n'est pas d emoi comme tu pourras le voir dasn l'entête mais elle fonctionne du moins sur ma machine (NT Excel 2000)
'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 & "~"
Bonjour à toutes et à tous ! Voici ma question du jour : comment peut-on protéger le code d'un classeur par macro ? Le contexte : je déplace une feuille d'un classeur vers un nouveau classeur et enregistre le nouveau classeur sans protection (ni de code, ni de feuille, ni de classeur). Or ladite feuille a quelques lignes de code (des tris simples avec insertion de sous-totaux) que je préférerai protéger des méfaits de mes utilisateurs préférés... Si quelqu'un sait ou a une piste, merci d'avance ! (et d'ailleurs merci d'avance tout court) A+
V.
Vincent.
Merci beaucoup à tous les deux ! Je vais essayer ça...
-----Message d'origine----- Bonjour Vincent j'ai retrouvé le code donner par Bill Manville dans mes archives.
'''''''''''''''''''''''''''''''' '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}" & _
news:175b01c4dd09$c5ea5750$ Bonjour à toutes et à tous ! Voici ma question du jour : comment peut-on protéger le code d'un classeur par macro ? Le contexte : je déplace une feuille d'un classeur vers un nouveau classeur et enregistre le nouveau classeur sans protection (ni de code, ni de feuille, ni de classeur). Or ladite feuille a quelques lignes de code (des tris simples avec insertion de sous-totaux) que je préférerai protéger des méfaits de mes utilisateurs préférés... Si quelqu'un sait ou a une piste, merci d'avance ! (et d'ailleurs merci d'avance tout court) A+
V.
.
Merci beaucoup à tous les deux !
Je vais essayer ça...
-----Message d'origine-----
Bonjour Vincent
j'ai retrouvé le code donner par Bill Manville dans mes
archives.
''''''''''''''''''''''''''''''''
'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:=2578,
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}"
& _
"Vincent." <vincnet.GRRfallas-@t-fr.pwc.com> a écrit dans
le message de
news:175b01c4dd09$c5ea5750$a501280a@phx.gbl...
Bonjour à toutes et à tous !
Voici ma question du jour : comment peut-on protéger le
code d'un classeur par macro ?
Le contexte : je déplace une feuille d'un classeur vers un
nouveau classeur et enregistre le nouveau classeur sans
protection (ni de code, ni de feuille, ni de classeur). Or
ladite feuille a quelques lignes de code (des tris simples
avec insertion de sous-totaux) que je préférerai protéger
des méfaits de mes utilisateurs préférés...
Si quelqu'un sait ou a une piste, merci d'avance ! (et
d'ailleurs merci d'avance tout court)
A+
'''''''''''''''''''''''''''''''' '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}" & _
news:175b01c4dd09$c5ea5750$ Bonjour à toutes et à tous ! Voici ma question du jour : comment peut-on protéger le code d'un classeur par macro ? Le contexte : je déplace une feuille d'un classeur vers un nouveau classeur et enregistre le nouveau classeur sans protection (ni de code, ni de feuille, ni de classeur). Or ladite feuille a quelques lignes de code (des tris simples avec insertion de sous-totaux) que je préférerai protéger des méfaits de mes utilisateurs préférés... Si quelqu'un sait ou a une piste, merci d'avance ! (et d'ailleurs merci d'avance tout court) A+