Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Tester la protection d'une feuille par VBA

2 réponses
Avatar
Fabrice N.
Bonjour à tous,

Petite question sur la protection des feuilles.

En gros, je voudrais pouvoir déprotéger avec un mot de passe et la
protéger avec un autre...

ce qui donne :
For i = 1 To Sheets.Count
On Error Resume Next

Sheets(i).Unprotect Password:=AncMdp
If Err = 0 Then Sheets(i).Protect Password:=NvMdP

On Error GoTo 0

Next i

Avec ça, les feuilles protégées par le mot de passe AncMdP sont
reprotégée avec le nouveau mot de passe et celles protégées avec un
autre mot de passe ne sont pas modifiées.

Mon soucis est que si il y a des feuilles non protégées, elles se
retrouvent protégées avec le nouveau mot de passe.

Est-ce qu'il y a une propriété à tester pour savoir si une feuille est
protégée ou pas ?

Merci d'avance pour votre aide.

2 réponses

Avatar
Daniel
Bonsoir.
Essaie :

For i = 1 To Sheets.Count
On Error Resume Next
Sheets(i).Unprotect
If Err.Number <> 0 Then
Sheets(i).Unprotect Password:=AncMdp
Sheets(i).Protect Password:=NvMdP
Err.Clear
End If
On Error GoTo 0

Next i

Cordialement.
Daniel
"Fabrice N." <"f.nebbia" avec l'@ "technicn.com"> a écrit dans le message de
news:
Bonjour à tous,

Petite question sur la protection des feuilles.

En gros, je voudrais pouvoir déprotéger avec un mot de passe et la
protéger avec un autre...

ce qui donne :
For i = 1 To Sheets.Count
On Error Resume Next

Sheets(i).Unprotect Password:=AncMdp
If Err = 0 Then Sheets(i).Protect Password:=NvMdP

On Error GoTo 0

Next i

Avec ça, les feuilles protégées par le mot de passe AncMdP sont reprotégée
avec le nouveau mot de passe et celles protégées avec un autre mot de
passe ne sont pas modifiées.

Mon soucis est que si il y a des feuilles non protégées, elles se
retrouvent protégées avec le nouveau mot de passe.

Est-ce qu'il y a une propriété à tester pour savoir si une feuille est
protégée ou pas ?

Merci d'avance pour votre aide.




Avatar
Fabrice N.
Bonjour Daniel,

Pas mal du tout, je n'y avais pas pensé... c'est tout con finalement...
;o)

Par contre, petite précision, sur le premier Unprotect, il faut
rajouter Password:="" car sinon, il demande de saisir le mot de passe à
chaque feuille.

Merci beaucoup pour ton aide Daniel...

A+

Bonsoir.
Essaie :

For i = 1 To Sheets.Count
On Error Resume Next
Sheets(i).Unprotect
If Err.Number <> 0 Then
Sheets(i).Unprotect Password:=AncMdp
Sheets(i).Protect Password:=NvMdP
Err.Clear
End If
On Error GoTo 0

Next i

Cordialement.
Daniel
"Fabrice N." <"f.nebbia" avec l'@ "technicn.com"> a écrit dans le message de
news:
Bonjour à tous,

Petite question sur la protection des feuilles.

En gros, je voudrais pouvoir déprotéger avec un mot de passe et la protéger
avec un autre...

ce qui donne :
For i = 1 To Sheets.Count
On Error Resume Next

Sheets(i).Unprotect Password:=AncMdp
If Err = 0 Then Sheets(i).Protect Password:=NvMdP

On Error GoTo 0

Next i

Avec ça, les feuilles protégées par le mot de passe AncMdP sont reprotégée
avec le nouveau mot de passe et celles protégées avec un autre mot de passe
ne sont pas modifiées.

Mon soucis est que si il y a des feuilles non protégées, elles se
retrouvent protégées avec le nouveau mot de passe.

Est-ce qu'il y a une propriété à tester pour savoir si une feuille est
protégée ou pas ?

Merci d'avance pour votre aide.