Protéger ou déprotéger d'un seul coup

  • Initiateur de la discussion Initiateur de la discussion cora
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

cora

XLDnaute Occasionnel
Bonjour à tous,

J'ai ce code dans chacune des feuilles de mon classeur

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.EnableAutoFilter = True
ActiveSheet.Protect "123", userinterfaceonly:=True
End Sub

Ce code permet de protéger certaines cellules tout en utilisant des macros et les filtres. La feuille se protège instantanément si vous pointer le curseur dans n'importe qu'elles cellules.

Hors, j'ai parfois besoin de modifier des zones protéger et je n'ai pas envie de supprimer le code feuille par feuille car j'en ai une très grosse quantité. Y a t'il un moyen de saisir ce code une fois pour toutes les feuilles en même temps.

Merci pour votre aide
 
Re : Protéger ou déprotéger d'un seul coup

Bonjour cora,

Ci-dessous un exemple de macro pour déprotéger l'ensemble des feuilles d'un classeur.

Ce code est à mettre dans un module standard. Tu n'auras plus qu'à l'appeler par la méthode de ton choix.

Cordialement.

Code:
Sub Deproteger()
For Each sh In ActiveWorkbook.Sheets
  sh.Unprotect "123"
Next
End Sub
 
Re : Protéger ou déprotéger d'un seul coup

Bonjour,

Ci - joint ma petite macro complémentaire favorite que j'utilise et que j'améliore chaque jour (à renommer en .xla)

Elle te crée un nouveau menu "Perso" dans la barre de menu avec 2 actions : Verrouiller et Déverrouiller toutes les feuilles du classeur actif (ainsi que le classeur lui - même)

Outre les protections, sur cette dernière version tu peux aussi :
- Modifier très simplement le mot de passe (voir le module "A0_Declarations")
- Masquer les onglets
- Masquer le quadrillage
- Masquer les en - têtes de lignes et de colonnes

Dernières améliorations :
- A la fin de l'opération, tu restes sur la même feuille active qu'avant
- Plus de plantage lorsqu'un graphique est sélectionné sur une feuille.
- La sélection de chaque feuille est ramenée sur la cellule A1

A toi de voir si ça te convient et à adapter selon tes besoins.

Bonne journée
 

Pièces jointes

Re : Protéger ou déprotéger d'un seul coup

ça fonctionne le seul souci, c'est que dès que je veux travailler sur la feuille elle ce protège à nouveau grace à ce code
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveSheet.EnableAutoFilter = True
ActiveSheet.Protect "123", userinterfaceonly:=True
End Sub
je ne peux toujours pas travailler à moins de supprimer le code ci dessus à chaque page
 
Re : Protéger ou déprotéger d'un seul coup

Une solution :

Créer une macro globale pour la protection et y faire appel depuis chaque feuille.

Par exemple :

Code:
Sub Proteger()
Activesheet.Protect "123", Userinterfaceonly:=True
End Sub

Puis, sur chaque feuille :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Call Protéger
End Sub

Il te suffira, lorsque tu voudras modifier manuellement tes feuilles, de mettre la ligne de commande en commentaire :

Code:
Sub Proteger()
'Activesheet.Protect "123", Userinterfaceonly:=True
End Sub

Et de retirer le commentaire à la fin.

C'est ce qui te fera le moins de travail.

Cordialement.

PS : bonjour GeoTrouvePas, bien ta solution !
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
16
Affichages
1 K
Réponses
2
Affichages
575
Réponses
8
Affichages
1 K
Réponses
0
Affichages
760
Réponses
9
Affichages
1 K
Retour