halecs93
XLDnaute Impliqué
Bonjour à toutes et à tous,
Pour éviter des manipulations "hasardeuses" des utilisateurs de mon fichier, j'ai voulu, par macro, déprotéger une partie des feuilles du classeur à l'ouverture d'un userform et les protéger à nouveau à sa fermeture.
J'ai fait, pour me donner une idée, un enregistrement d'une macro mais le code me parait un peu "lourd". Y aurait-il un moyen de faire plus simple ?
Voici le code
Sub deproteger()
'
' deproteger Macro
'
'
Sheets("JANVIER").Select
ActiveSheet.Unprotect
Sheets("FEVRIER").Select
ActiveSheet.Unprotect
Sheets("MARS").Select
ActiveSheet.Unprotect
Sheets("AVRIL").Select
ActiveSheet.Unprotect
Sheets("MAI").Select
ActiveSheet.Unprotect
Sheets("JUIN").Select
ActiveSheet.Unprotect
Sheets("JUILLET").Select
ActiveSheet.Unprotect
Sheets("AOUT").Select
ActiveSheet.Unprotect
Sheets("SEPTEMBRE").Select
ActiveSheet.Unprotect
Sheets("OCTOBRE").Select
ActiveSheet.Unprotect
Sheets("NOVEMBRE").Select
ActiveSheet.Unprotect
Sheets("DECEMBRE").Select
ActiveSheet.Unprotect
End Sub
Sub proteger()
'
' proteger Macro
'
'
Sheets("JANVIER").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("FEVRIER").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("MARS").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("AVRIL").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("MAI").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("JUIN").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("JUILLET").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("AOUT").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("SEPTEMBRE").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("OCTOBRE").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("NOVEMBRE").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("DECEMBRE").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
End Sub
Et, au cas où l'ensemble des feuilles composant le classeur.
DONNEES
JANVIER
FEVRIER
MARS
AVRIL
MAI
JUIN
JUILLET
AOUT
SEPTEMBRE
OCTOBRE
NOVEMBRE
DECEMBRE
RECAPITULATIF
FICHE INFOS
CALCULS
Un grand merci par avance.
Pour éviter des manipulations "hasardeuses" des utilisateurs de mon fichier, j'ai voulu, par macro, déprotéger une partie des feuilles du classeur à l'ouverture d'un userform et les protéger à nouveau à sa fermeture.
J'ai fait, pour me donner une idée, un enregistrement d'une macro mais le code me parait un peu "lourd". Y aurait-il un moyen de faire plus simple ?
Voici le code
Sub deproteger()
'
' deproteger Macro
'
'
Sheets("JANVIER").Select
ActiveSheet.Unprotect
Sheets("FEVRIER").Select
ActiveSheet.Unprotect
Sheets("MARS").Select
ActiveSheet.Unprotect
Sheets("AVRIL").Select
ActiveSheet.Unprotect
Sheets("MAI").Select
ActiveSheet.Unprotect
Sheets("JUIN").Select
ActiveSheet.Unprotect
Sheets("JUILLET").Select
ActiveSheet.Unprotect
Sheets("AOUT").Select
ActiveSheet.Unprotect
Sheets("SEPTEMBRE").Select
ActiveSheet.Unprotect
Sheets("OCTOBRE").Select
ActiveSheet.Unprotect
Sheets("NOVEMBRE").Select
ActiveSheet.Unprotect
Sheets("DECEMBRE").Select
ActiveSheet.Unprotect
End Sub
Sub proteger()
'
' proteger Macro
'
'
Sheets("JANVIER").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("FEVRIER").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("MARS").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("AVRIL").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("MAI").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("JUIN").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("JUILLET").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("AOUT").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("SEPTEMBRE").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("OCTOBRE").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("NOVEMBRE").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
Sheets("DECEMBRE").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False
End Sub
Et, au cas où l'ensemble des feuilles composant le classeur.
DONNEES
JANVIER
FEVRIER
MARS
AVRIL
MAI
JUIN
JUILLET
AOUT
SEPTEMBRE
OCTOBRE
NOVEMBRE
DECEMBRE
RECAPITULATIF
FICHE INFOS
CALCULS
Un grand merci par avance.