Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Protéger/déprotéger plusieurs feuille d'un coup

Lazz

XLDnaute Junior
Bonjour à tous,

Peut être quelqu'un arrivera à résoudre mon problème !!

J'ai un vingtaine d'onglets et seulement quelques uns doivent être protéger. Cependant, les feuilles ne sont pas à protégé intégralement.
Par exemple : les colonnes A, D et F doivent être protégées. Le reste doit pouvoir être saisie.
J'arrive à protéger mes feuilles une par une dans "révisions". Mais cela m'arrangerait grandement qu'une macro puissent me protéger et déprotéger tout mon classeur d'un seul coup.

Avez-vous des propositions à ma faire ?

Merc
 
Solution
Re le fil

Arf... Mal lu la question (sélection de feuilles à protéger dans classeur). Le nouveau code :
Code:
Option Explicit
Sub protection()
Dim exclure As Variant
Dim Feuil As Worksheet
Application.ScreenUpdating = False
exclure = "Feuil1,Feuil2,Feuil3,"
For Each Feuil In ThisWorkbook.Worksheets
If InStr(exclure, Feuil.Name & ",") = 0 Then
Feuil.Protect Password:="Lazz"
End If
Next Feuil
End Sub

Sub déprotection()
Dim exclure As Variant
Dim Feuil As Worksheet
Application.ScreenUpdating = False
exclure = "Feuil1,Feuil2,Feuil3,"
For Each Feuil In ThisWorkbook.Worksheets
If InStr(exclure, Feuil.Name & ",") = 0 Then
Feuil.Unprotect Password:="Lazz"
End If
Next Feuil
End Sub

Comme dit post précédent : Avant de protéger, il te faut...

Lazz

XLDnaute Junior
On m'a donné ce code :

Mais j'avoue ne pas bien comprendre à quoi il correspond
 

Eric C

XLDnaute Barbatruc
Bonjour le forum
Bonjour Lazz

Deux code, l'un pour protéger, l'autre pour déprotéger TOUTES les feuilles :
VB:
Option Explicit
Sub ProtectionToutesLesFeuilles()
Application.ScreenUpdating = False
Dim Feuil As Worksheet
For Each Feuil In Sheets
Feuil.Protect Password:="Lazz"
Next Feuil
End Sub

Sub DeprotectionToutesLesFeuilles()
 Application.ScreenUpdating = False
Dim Feuil As Worksheet
For Each Feuil In Sheets
Feuil.Unprotect Password:="Lazz"
Next Feuil
End Sub

Ensuite, avant de protéger, il te faut "déverrouiller" les colonnes que tu désires préserver (Clic droit - Format de cellules - Protection - Décocher "Verrouillée")

Cela fait toujours plaisir de savoir que la contribution a aidé (ou pas).

N'hésitez pas à marquer le sujet comme résolu le cas échéant ou à liker.


Bonne après-midi à toutes & à tous
@+ Eric c
 

Eric C

XLDnaute Barbatruc
Re le fil

Arf... Mal lu la question (sélection de feuilles à protéger dans classeur). Le nouveau code :
Code:
Option Explicit
Sub protection()
Dim exclure As Variant
Dim Feuil As Worksheet
Application.ScreenUpdating = False
exclure = "Feuil1,Feuil2,Feuil3,"
For Each Feuil In ThisWorkbook.Worksheets
If InStr(exclure, Feuil.Name & ",") = 0 Then
Feuil.Protect Password:="Lazz"
End If
Next Feuil
End Sub

Sub déprotection()
Dim exclure As Variant
Dim Feuil As Worksheet
Application.ScreenUpdating = False
exclure = "Feuil1,Feuil2,Feuil3,"
For Each Feuil In ThisWorkbook.Worksheets
If InStr(exclure, Feuil.Name & ",") = 0 Then
Feuil.Unprotect Password:="Lazz"
End If
Next Feuil
End Sub

Comme dit post précédent : Avant de protéger, il te faut "déverrouiller" les colonnes que tu désires préserver (Clic droit - Format de cellules - Protection - Décocher "Verrouillée")

Cela fait toujours plaisir de savoir que la contribution a aidé (ou pas).

N'hésitez pas à marquer le sujet comme résolu le cas échéant ou à liker.


Bonne après-midi à toutes & à tous
@+ Eric c
 

Lazz

XLDnaute Junior
Merci Eric !
Ca marche au top !

Cependant j'ai quelques exceptions comme toujours !

- J'aimerai pouvoir modifié la police, faire des tries etc sur mes feuilles même si elles sont protégées.
- De plus, J'ai certaines macros qui ne fonctionnent pas lorsque je protège certaines feuilles. N'est-il vraiment pas possible de pouvoir sélectionner les feuilles qui je veux protéger ?

Bien à toi
 

Eric C

XLDnaute Barbatruc
Re le fil

1/ Quand c'est protégé, c'est protégé (il y aura bien un grand de ce forum qui va venir pour te donner la soluce miracle..)
2-1/ Pour pouvoir activer les macros, il faut ajouter l'argument suivant :
VB:
"Feuil.Protect Password:="Lazz", userinterfaceonly:=True
2-2/ Je pense t'avoir donné le code pour protéger certaines de tes feuilles (IL faut "jouer" avec le nom des feuilles (#4 - Seules les feuilles 1 à 3 sont exclues de la protection).!!!
@+ Eric c
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…