Macro pour (dé)protéger une feuille

  • Initiateur de la discussion Initiateur de la discussion Tom32
  • 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 !

Tom32

XLDnaute Occasionnel
Bonjour,

toutes les feuilles des fichiers excel que j'utilise sont protégées par le même mot de passe !!

N'y aurait-il pas un moyen d'utiliser un raccourci (avec une macro par exemple) qui me permettrait de protéger ma feuille (avec le mot de passe habituel) si elle n'est pas protégée, et réciproquement d'ôter la protection si elle existe ??

Merci d'avance
 
Re : Macro pour (dé)protéger une feuille

Bonjour Tom

si j'ai bien coçmpris ta demande, une macro pour protéger, une autre pour déprotéger et ce pour la première feuille :

Code:
Sub Protege()
Sheets(1).Protect "toto"
End Sub
Sub DeProtege()
Sheets(1).Unprotect "toto"
End Sub

bon après midi
@+
 
Re : Macro pour (dé)protéger une feuille

C'est à peu près ça, mais pas tout à fait :
ce serait une seule maccro qui protègerait une feuille (si elle n'est pas déjà protégée) ou qui déprotègerait une feuille (si elle est déjà protégée)

De plus, il faudrait que ce soit la feuille active et non la 1ère feuille qui puisse être (dé)protégée

Je te remercie
 
Re : Macro pour (dé)protéger une feuille

Re, bonjour Skoobi

une autre solution :*

Code:
Sub protection()
If ActiveSheet.ProtectionMode = True Then
    ActiveSheet.Protect "toto", UserInterfaceOnly:=False
    ActiveSheet.Unprotect "toto"
Else
    ActiveSheet.Protect "toto", UserInterfaceOnly:=True
End If
End Sub

@+
 
Re : Macro pour (dé)protéger une feuille

Pierrot93, c'est bon ça marche !!

juste un petit truc : quand j'ouvre le fichier contenant des feuilles protégées, il faut que j'éxécute 2 fois la macro pour la déprotéger, alors que je n'ai besoin de ne l'éxécuter qu'une fois pour protéger la feuille, pourquoi ?

Je te remercie de ton aide
 
Re : Macro pour (dé)protéger une feuille

Re

il vaut mieux que la protection soit effectuée par le code, mets dans le module "'ThisWorkbook" le code ci dessous :

Code:
Private Sub Workbook_Open()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
    ActiveSheet.Protect "toto", UserInterfaceOnly:=True
Next ws
End Sub

forcera à l'ouverture la protection de toutes les feuilles avec l'argument "UserInterfaceOnly" à true

colle le code, ferme ton classeur en enregistrant et ouvre le.

@+
 
Re : Macro pour (dé)protéger une feuille

Bonjour
Pierot93, j'ai collé le code que tu m'as donné dans le le workbook et maintenant à chaque fois que j'ouvre un fichier ça me met un message d'erreur comme quoi la touche ver.maj doit être enclenchée. Comme si j'avais mal entré un mot de passe quoi !!

En fait je ne vois pas ce que ça change ni à quoi ton code peut bien servir !! ceci dit comme mes connaissances sont très limitées, ceci est sans doute normal
 
Re : Macro pour (dé)protéger une feuille

Bonjour Tom, Christophe

regarde le code ci dessous, j'ai modifié une ligne :

Code:
Private Sub Workbook_Open()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
    ws.Protect "toto", UserInterfaceOnly:=True
Next ws
End Sub

bonne journée
@+
 
- 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
17
Affichages
876
Réponses
2
Affichages
643
Réponses
2
Affichages
656
Retour