Tester la protection d'une feuille par VBA

Le
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel
Le #4328911
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." 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.




Fabrice N.
Le #4328301
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." 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.






Publicité
Poster une réponse
Anonyme