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

Protection et deprotection plusieurs feuilles sur un même classeur via macro

Martflo

XLDnaute Nouveau
Bonjour,

Je suis hyper nvice en maco et code VBA.
J'ai un fichier de 31 feuilles sur lequel j'ai dévérouillée certaines cellules qui pourront être modifiables. Ce fichier sera accessible par plusieurs personnse différentes et je ne veux pas qu'elles puissent faire de modification sur les cellules non dévérouillées.
Je souhaite protéger toutes les feuilles en une seule action (raccourci clavier) avec une demande de mot de passe et pouvoir remettre cette protection facilement (raccourci clavier) avec une demande de mot de passe aussi.
Genre boîte de dialogue : Mettre la protection - saisissez le mot de passe / Enlever le protection - saisissez le mot de passe.

J'ai essayer plusieurs codes mais je n'y arrive pas. La suppression de la protetion me donne toujours un message d'erreur :


Est-ce que quelqu'un peut m'aider pour cela ?

Merci pour votre grande aide.

Florine
 

Pièces jointes

  • Maquette.xls
    3.6 MB · Affichages: 22

Martflo

XLDnaute Nouveau
Bonjour,
J'ai recopié votre code dans un module du fichier.
Lorsque je lance le code avec F5, les feuilles sont bien protégées. Mais j'ai ce message d'erreur dans VBA :


Et je ne peux choisir la fonction déprotéger...
 

JM27

XLDnaute Barbatruc
Bonjour
Il y a deux feuilles masquées qui ont à priori ont des mot de passe
classified as unclassified
et
xl_DCF_History

Je les ai supprimé pour tester : OK
A toi d'affecter les macros aux touches de raccourci
 

Pièces jointes

  • Maquette (1).xls
    3.6 MB · Affichages: 33

Staple1600

XLDnaute Barbatruc
Bonjour

Une autre possibilité
(avec une macro unique paramétrée)
Code:
Sub protéger()
protection True
End Sub
Sub déprotéger()
protection False
End Sub

Private Sub protection(VerrouFermé As Boolean)
Dim ws As Worksheet
For Each ws In Worksheets
  Select Case VerrouFermé
  Case True
  ws.Protect
  Case False
  ws.Unprotect
  End Select
Next
End Sub
 

Martflo

XLDnaute Nouveau
Bonjour Staple1600,

Pardon j'ai d'abord lu la réponse de JM27 et du coup, j'ai essayé dans la foulée sa proposition.

Toutes mes excuses et merci pour ton retour que je vais aussi essayer de ce pas.
 

JM27

XLDnaute Barbatruc
Pour afficher les deux feuilles en veryhidden
aller dans le projet VBA
sélectionner la feuille cachée et faire F4 ou ouvrir la fenétre propriété
et changer la ligne correspondant (visible)
 
Dernière édition:

Discussions similaires

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