Protéger plusieurs feuilles d'un classeur

Fermé
Emilie288 - 19 mai 2016 à 16:08
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 - 25 mai 2016 à 13:01
Bonjour,

J'ai vu plusieurs possiblités (via marco) de protéger toutes les feuilles :

Sub protegetout()
For i = 1 To Sheets.Count
With Sheets(i)
.Protect Password:="jojo", DrawingObjects:=True, Contents:=True, Scenarios:=True
.EnableSelection = xlUnlockedCells
End With
Next
End Sub


Mais par contre il est impossible d'utiliser les filtres, de sélectionner une cellule qui est verrouillée...

Merci d'avance de votre aide,
A voir également:

3 réponses

via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
19 mai 2016 à 16:15
Bonjour Emile

Pour pouvoir selectionner toutes les cellules tu supprimes la ligne
.EnableSelection = xlUnlockedCells

Pour autoriser le tri et le filtre tu completes ainsi l'instruction
.Protect Password:="jojo", DrawingObjects:=True, Contents:=True, Scenarios:=True , AllowSorting:=True, AllowFiltering:=True

Cdlmnt
Via
0
Super ! Ca fonctionne très bien
Merci beaucoup
0
Bonjour,

J'avais oublié un élément très important pour moi.
En effet dans ce classeur j'ai un userform et des macros, que je souhaiterai également protéger. Avec la macro si dessus les feuilles sont bien protégées mais on peut toutefois cliquer sur le bouton de contrôle qui lance l'userform...

Donc je souhaiterai bloquer le bouton de l'userform (feuil 1) en même temps que les feuilles, mais pouvoir moi cliquer sur le bouton de contrôle qui déprotège le classeur...

merci
0
via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
25 mai 2016 à 13:01
Bonjour Emilie

Tu ne peux pas bloquer le bouton par contre tu peux au début de la macro qui lance l'UF faire afficher une boite de message qui demande un mot de passe et c'est seulement si le mdp est bon qu'on lance l'UF
exemple :
mp = InputBox("Entrer votre mot de passe", "Authentification")
If mp<>"jojo" then msgbox "Mot de passe non incorrect.Accès non autorisé" :exit sub
Userform1.show


Cdlmnt
Via
0