OVH Cloud OVH Cloud

mettre une protection par VBA

1 réponse
Avatar
prioux
Bonjour.
J'ai besoin de mettre des colonnnes en protection lorsqu'un user ouvre le classeur.
Dans workbook_open,j'ai donc mis,pour ne protéger que A2:B43:
ActiveSheet.Unprotect
Feuil1.Range("A1:CD43").Select
Selection.Locked = False
Selection.FormulaHidden = False
'----------------------------------------------------------------
Feuil1.Range("A2:B43").Select
Selection.Locked = True
Selection.FormulaHidden = False
MsgBox "Workbook_open ...protection mise ...."
ActiveSheet.Protect DrawingObjects:=True, contents:=True, Scenarios:=True

Rien à faire,A2:B43 n'est pas protégé.
Que se passe t'il ?
D'avance merci.

1 réponse

Avatar
Philippe.R
Bonjour,
Chez moi, ce code fonctionne :

Sub Proteg_partie()
' MPFE le 04/06/2004 par Philippe.R
'
Sheets("Feuil1").Activate 'nom de feuille à adapter
Cells.Locked = False
Range("A2:B43").Locked = True
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFiltering:=True
ActiveSheet.EnableSelection = xlUnlockedCells
End Sub

Tu peux essayer de la lancer depuis ta procédure open
--
Amicales Salutations
Retirer A_S_ pour répondre.
XL 97 / 2000 / 2002
Pour suivre le forum :
news://msnews.microsoft.com/microsoft.public.fr.excel
(Voulez-vous vous abonner ? -> Oui)

a écrit dans le message de news:
Bonjour.
J'ai besoin de mettre des colonnnes en protection lorsqu'un user ouvre le classeur.
Dans workbook_open,j'ai donc mis,pour ne protéger que A2:B43:
ActiveSheet.Unprotect
Feuil1.Range("A1:CD43").Select
Selection.Locked = False
Selection.FormulaHidden = False
'----------------------------------------------------------------
Feuil1.Range("A2:B43").Select
Selection.Locked = True
Selection.FormulaHidden = False
MsgBox "Workbook_open ...protection mise ...."
ActiveSheet.Protect DrawingObjects:=True, contents:=True, Scenarios:=True

Rien à faire,A2:B43 n'est pas protégé.
Que se passe t'il ?
D'avance merci.