OVH Cloud OVH Cloud

Protection de feuille

5 réponses
Avatar
Infogroup
Bonjour à tous,

J'ai une macro qui protège toutes les feuilles d'un classeur et le classeur
lui-même, avec un mot de passequ'on appellera "PW" pour l'exemple.
Je voudrais que les autres macros du classeur puissent s'exécuter même si
les feuilles sont protégées, il y a bien l'instruction
userinterfaceonly:=True, mais je n'arrive pas à construire la syntaxe globale.
D'autres part, lorsque les feuilles et le classeur sont protégés ey que
j'exécute une nouvelle fois la macro de protection, les feuilles restent
protégées mais pas le classeur. Comment faut-il rédiger les instructions de
protection ?

Voici la macro actuelle :

Sub Protection_des_feuilles()

Application.ScreenUpdating = True

For I = Sheets.Count To 1 Step -1
Sheets(I).Activate
ActiveSheet.Protect "PW"
Next I

ActiveWorkbook.Protect "PW"

End Sub

Merci par avance pour votre aide

--
M.Infogroup

5 réponses

Avatar
JB
Bonjour,

Activesheet.Unprotect Password:="toto"
Activesheet.Protect Password:="toto"

JB

On 27 jan, 09:08, Infogroup
wrote:
Bonjour à tous,

J'ai une macro qui protège toutes les feuilles d'un classeur et le clas seur
lui-même, avec un mot de passequ'on appellera "PW" pour l'exemple.
Je voudrais que les autres macros du classeur puissent s'exécuter mêm e si
les feuilles sont protégées, il y a bien l'instruction
userinterfaceonly:=True, mais je n'arrive pas à construire la syntaxe globale.
D'autres part, lorsque les feuilles et le classeur sont protégés ey q ue
j'exécute une nouvelle fois la macro de protection, les feuilles restent
protégées mais pas le classeur. Comment faut-il rédiger les instruc tions de
protection ?

Voici la macro actuelle :

Sub Protection_des_feuilles()

Application.ScreenUpdating = True

For I = Sheets.Count To 1 Step -1
Sheets(I).Activate
ActiveSheet.Protect "PW"
Next I

ActiveWorkbook.Protect "PW"

End Sub

Merci par avance pour votre aide

--
M.Infogroup


Avatar
Infogroup
Un grand merci JB pour ta réponse rapide

Cordialement

Infogroup
--
M.Infogroup



Bonjour,

Activesheet.Unprotect Password:="toto"
Activesheet.Protect Password:="toto"

JB

On 27 jan, 09:08, Infogroup
wrote:
Bonjour à tous,

J'ai une macro qui protège toutes les feuilles d'un classeur et le classeur
lui-même, avec un mot de passequ'on appellera "PW" pour l'exemple.
Je voudrais que les autres macros du classeur puissent s'exécuter même si
les feuilles sont protégées, il y a bien l'instruction
userinterfaceonly:=True, mais je n'arrive pas à construire la syntaxe globale.
D'autres part, lorsque les feuilles et le classeur sont protégés ey que
j'exécute une nouvelle fois la macro de protection, les feuilles restent
protégées mais pas le classeur. Comment faut-il rédiger les instructions de
protection ?

Voici la macro actuelle :

Sub Protection_des_feuilles()

Application.ScreenUpdating = True

For I = Sheets.Count To 1 Step -1
Sheets(I).Activate
ActiveSheet.Protect "PW"
Next I

ActiveWorkbook.Protect "PW"

End Sub

Merci par avance pour votre aide

--
M.Infogroup






Avatar
Infogroup
Par contre JB, j'ai toujours le pb expliqué plus bas qui déprotège le
classeur lorsque j'éxécute la macro de protection alors que les feuilles et
classeur sont déjà protégés et d'autre part, comment je fais pour faire
fonctionner les autres macros avec les feuilles protégées ?

Merci
--
M.Infogroup



Un grand merci JB pour ta réponse rapide

Cordialement

Infogroup
--
M.Infogroup



Bonjour,

Activesheet.Unprotect Password:="toto"
Activesheet.Protect Password:="toto"

JB

On 27 jan, 09:08, Infogroup
wrote:
Bonjour à tous,

J'ai une macro qui protège toutes les feuilles d'un classeur et le classeur
lui-même, avec un mot de passequ'on appellera "PW" pour l'exemple.
Je voudrais que les autres macros du classeur puissent s'exécuter même si
les feuilles sont protégées, il y a bien l'instruction
userinterfaceonly:=True, mais je n'arrive pas à construire la syntaxe globale.
D'autres part, lorsque les feuilles et le classeur sont protégés ey que
j'exécute une nouvelle fois la macro de protection, les feuilles restent
protégées mais pas le classeur. Comment faut-il rédiger les instructions de
protection ?

Voici la macro actuelle :

Sub Protection_des_feuilles()

Application.ScreenUpdating = True

For I = Sheets.Count To 1 Step -1
Sheets(I).Activate
ActiveSheet.Protect "PW"
Next I

ActiveWorkbook.Protect "PW"

End Sub

Merci par avance pour votre aide

--
M.Infogroup








Avatar
anonymousA
Bonjour,

c'est vrai que si tu renvoies une instruction de protection de classeur
avec un mot de passe après l'avoir déjà envoyée avec le même mot de
passe , le classeur se déprotège, ce qui est assez amusant.
Sur Excel 2000 , tu peux tester si le classeur est déjà protégé en
utiisant le booléen de retour de la propriété ProtectStructure ou/et
ProtectWindows de l'objet workbooks.

exemple :

with Thisworkbook
if .ProtectStructure*1<>-1 then .Protect "motdepasse"
end with

A+


Par contre JB, j'ai toujours le pb expliqué plus bas qui déprotège le
classeur lorsque j'éxécute la macro de protection alors que les feuilles et
classeur sont déjà protégés et d'autre part, comment je fais pour faire
fonctionner les autres macros avec les feuilles protégées ?

Merci


Avatar
Infogroup
Merci anonymousA, je vais me débrouiller avec ces infos.

Cordialement

Infogroup


--
M.Infogroup



Bonjour,

c'est vrai que si tu renvoies une instruction de protection de classeur
avec un mot de passe après l'avoir déjà envoyée avec le même mot de
passe , le classeur se déprotège, ce qui est assez amusant.
Sur Excel 2000 , tu peux tester si le classeur est déjà protégé en
utiisant le booléen de retour de la propriété ProtectStructure ou/et
ProtectWindows de l'objet workbooks.

exemple :

with Thisworkbook
if .ProtectStructure*1<>-1 then .Protect "motdepasse"
end with

A+


Par contre JB, j'ai toujours le pb expliqué plus bas qui déprotège le
classeur lorsque j'éxécute la macro de protection alors que les feuilles et
classeur sont déjà protégés et d'autre part, comment je fais pour faire
fonctionner les autres macros avec les feuilles protégées ?

Merci