XL 2016 proteger une plage

linebich

XLDnaute Junior
Bonsoir ,
mon objectif c'est d'oter la protection pendant l'execution de mon programme et proteger apres
mais la protection doit couvrir juste une plage de colonne de B à J j'usqu'au derniere ligne avec une possibilité de faire tout sauf la modification de contenu
j'ai essayé avec ce code mais ca marche pas
Sheets("F1").Activate
Cells.Select
Selection.Locked = True
range("B:J").Select ' ici je voulais une plage
Selection.Locked = False
Sheets("F1").Protect userinterfaceonly:=True, DrawingObjects:=True, Contents:=True, Scenarios:=True, AllowFormattingCells:=True, AllowFormattingRows:=True, AllowFiltering:=True, Password:="0000"




merci d'avance pour tout retour de votre part
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

linebich
Je vois que tu as suivi mon conseil ;)
Testes ces deux macros
Et choisis celle qui correspond le mieux à ce que tu souhaites
VB:
Sub testA()
Sheets("F1").Unprotect
Sheets("F1").Range("B:J").Locked = True
Sheets("F1").Protect
End Sub
Sub testB()
Sheets("F1").Unprotect
Sheets("F1").Range("B:J").Locked = False
Sheets("F1").Protect
End Sub
 

GALOUGALOU

XLDnaute Accro
bonjour linebich bonjour le forum
par défaut dans une feuille toutes les cellules sont cochées protégées

action à réaliser
1er dans la feuille clic droit, /dans format de cellule/ protection /decocher toutes les cellules non concernées par une protection

dans le code vba
pour déproteger au début du code
ActiveSheet.Unprotect ("0000")

pour la protection a la fin du code

ActiveSheet.Protect ("0000"), DrawingObjects:=True, Contents:=True, Scenarios:=True _
, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowFiltering:=True
ActiveSheet.EnableSelection = xlUnlockedCells

cordialement galougalou
 

Statistiques des forums

Discussions
311 541
Messages
2 080 546
Membres
101 239
dernier inscrit
rthomas