OVH Cloud OVH Cloud

Macro pour déprotéger ttes feuilles d'un classeur

2 réponses
Avatar
Patrick DUPIN
Bonjour

Sur le site génial de http://perso.wanadoo.fr/frederic.sigonneau/ j'ai
trouvé cette macro pour protéger toutes les feuilles d'un classeur et qui
fonctionne à merveille :
Sub ProtectionOn()
'appelé dans Workbook_Open
On Error Resume Next
For Each sht In ActiveWorkbook.Worksheets
With sht
.Select
.Protect Password:="pinpin", UserInterfaceOnly:=True
End With
Next
End Sub
et j'aurais bien aimé trouver la même pour déprotéger du type: Sub
ProtectionOff() avec Unprotect
J'en ai trouvé 2 sur le site, mais elles ne fonctionnent pas !
Un très grand merci à tous ceux qui pourront m'aider
De très bonnes fêtes à tous avec plein de cadeaux !
Bonne et heureuse année 2004 à tous
Pinpin

2 réponses

Avatar
Philippe.R
Bonjour Patrick,
Sur le même site, il y a cette paire de macros qui, a priori, fait ce que tu souhaites

Attribute VB_Name = "ProtegeDeprotegeFeuilles"

'protéger toutes les feuilles d'un classeur
'Richard Herrmann, mpfe
Sub protege()
Application.ScreenUpdating = False
For i = 1 To Sheets.Count
Sheets(i).Activate
Range("A1").Select
ActiveSheet.Protect password:="zaza"
Next i
Sheets(1).Activate
Range("A1").Select
Application.ScreenUpdating = True
End Sub

'déprotéger toutes les feuilles d'un classeur
'Richard Herrmann, mpfe
Sub deprotege()
Application.ScreenUpdating = False
For i = 1 To Sheets.Count
Sheets(i).Activate
Range("A1").Select
ActiveSheet.Unprotect password:="zaza"
Next i
Sheets(1).Activate
Range("A1").Select
Application.ScreenUpdating = True
End Sub

--
Amicales Salutations

Retirer A_S_ pour répondre.
XL97 / XL2002

"Patrick DUPIN" a écrit dans le message de
news:
Bonjour

Sur le site génial de http://perso.wanadoo.fr/frederic.sigonneau/ j'ai
trouvé cette macro pour protéger toutes les feuilles d'un classeur et qui
fonctionne à merveille :
Sub ProtectionOn()
'appelé dans Workbook_Open
On Error Resume Next
For Each sht In ActiveWorkbook.Worksheets
With sht
.Select
.Protect Password:="pinpin", UserInterfaceOnly:=True
End With
Next
End Sub
et j'aurais bien aimé trouver la même pour déprotéger du type: Sub
ProtectionOff() avec Unprotect
J'en ai trouvé 2 sur le site, mais elles ne fonctionnent pas !
Un très grand merci à tous ceux qui pourront m'aider
De très bonnes fêtes à tous avec plein de cadeaux !
Bonne et heureuse année 2004 à tous
Pinpin




Avatar
Frédéric Sigonneau
Bonsoir,

Qu'est-ce qui ne fonctionne pas ?

Au cas où, une précision sur la macro ProtectionOn que tu utilises : elle
utilise le paramètre UserInterfaceOnly qui a l'intérêt de réserver la portée de
la protection aux actions effectuées par l'utilisateur dans Excel mais qui
permet les manipulations par du code VBA (sans intervention directe de
l'utilisateur donc). Cette particularité évite dans beaucoup de cas d'avoir à
déprotéger une feuille protégée pour travailler dessus en VBA.

(On peut étendre les actions possibles en VBA malgré une protection des
feuilles, par exemple pour travailler avec un filtre ou un plan sur des feuilles
protégées. Exemple dans ce module :
http://perso.wanadoo.fr/frederic.sigonneau/code/Feuilles/ProtegerMaisOKFiltreEtPlan.txt)

FS
--
Frédéric Sigonneau [MVP Excel - né un sans-culottide]
Gestions de temps, VBA pour Excel :
http://perso.wanadoo.fr/frederic.sigonneau
Si votre question sur Excel est urgente, évitez ma bal !


Bonjour

Sur le site génial de http://perso.wanadoo.fr/frederic.sigonneau/ j'ai
trouvé cette macro pour protéger toutes les feuilles d'un classeur et qui
fonctionne à merveille :
Sub ProtectionOn()
'appelé dans Workbook_Open
On Error Resume Next
For Each sht In ActiveWorkbook.Worksheets
With sht
.Select
.Protect Password:="pinpin", UserInterfaceOnly:=True
End With
Next
End Sub
et j'aurais bien aimé trouver la même pour déprotéger du type: Sub
ProtectionOff() avec Unprotect
J'en ai trouvé 2 sur le site, mais elles ne fonctionnent pas !
Un très grand merci à tous ceux qui pourront m'aider
De très bonnes fêtes à tous avec plein de cadeaux !
Bonne et heureuse année 2004 à tous
Pinpin