protection d'un classeur

pierre1340

XLDnaute Junior
Bonjour,
J'ai un classeur excel avec 12 feuilles que je souhaite protéger en une seule fois car alors actuelle je suis obligé de faire feuille par feuille pour taper le mot de passe et si je selectionne tous les onglets pour taper le mot de passe en une seule fois sa ne foonctionne pas, aurait-il une solution?
Merci
 

Joshua14

XLDnaute Occasionnel
Re : protection d'un classeur

bonsoir Pierre,

Par macro, tu peux faire comme suit si le classeur ne comporte pas d'autres feuilles que tu voudrais modifier. Tu mets ce code dans la macro associée à un bouton

PHP:
For i = 1 To Sheets.Count
    Sheets(i).Protect
Next

Idem pour deproteger

PHP:
For i = 1 To Sheets.Count
    Sheets(i).Unprotect
Next

J'espere que cela repondra à ton besoin
 

porcinet82

XLDnaute Barbatruc
Re : protection d'un classeur

Salut Pierre, Salut joshua,

En complément de la solution de Joshua, au cas ou tu aurais un mot de passe :
Code:
Sub Verrouiller_feuille()
Dim i%
For i = 1 To Sheets.Count
    Sheets(i).Protect Password:="aaa"
Next i
End Sub

Code:
Sub Deverrouiller_feuille()
Dim i%
For i = 1 To Sheets.Count
    Sheets(i).Unprotect Password:="aaa"
Next i
End Sub

@+
 

criscris11

XLDnaute Accro
Re : protection d'un classeur

Bonsoir à tous,
Un autre exemple pour protéger touts les feuilles d'un classeur en une seule fois :
Sub ProtectionToutesLesFeuillesMDP()
Application.ScreenUpdating = False
Dim Feuil As Worksheet
For Each Feuil In Sheets
Feuil.Protect Password:="chris"
Next Feuil
End Sub


et pour déprotéger :
Sub DeprotectionToutesLesFeuillesMDP()
Dim MyMtPss As String
MyMtPss = Application.InputBox("Mot de passe pour continuer")
If MyMtPss <> "chris" Then Exit Sub
MsgBox "Attention, toutes les feuilles vont être déprotégées"
Application.ScreenUpdating = False
Dim Feuil As Worksheet
For Each Feuil In Sheets
Feuil.Unprotect Password:="chris"
On Error GoTo Sortie
Suite:
Next Feuil
Exit Sub
Sortie:
MsgBox "La Feuille : " & Feuil.Name & " Est Protégée par UN AUTRE Mot de Passe"
GoTo Suite
End Sub


Ces 2 macros me servent dans un de mes fichiers et çà fonctionne impeccable. Merci à l'auteur dont j'ai oublié le nom mais je les avais trouvé sur ce forum.
Bonne soirée.
 

pierre1340

XLDnaute Junior
Re : protection d'un classeur

Salut à tous,

Merci à vous de vos réponses,n'étant pas famillié avec les macros j'ai fais un "copier coller "de la solution de criscris ça fonctionne nickel, j'ai même rajouté des boutons pour la protection et déprotection.
Le problème c'est que si quelqu'un clic sur exécuter une macro puis modifier, on voit le mot de passe.
Comment faire pour éviter cela?

merci
 

bqtr

XLDnaute Accro
Re : protection d'un classeur

Salut Pierre1340

Tu peux protéger tes codes par un mot de passe :

Outils/Macro/Visual Basic Editor/
Click droit sur ton classeur dans la fenêtre de projets
Sélectionne Propriétés_VBAProject
Onglet Protection
Coche Verrouiller le projet pour l'affichage
Entre ton mot de passe et confirme le
Valide par OK

Ferme ton classeur et enregistre les modifs

Rouvre le, tous les codes du classeur sont protégés
Les macros restent actives et si tu fait outils/macro
Seul les boutons exécuter et annuler sont actifs les autres sont désactivés

Pour modifier tes codes il faudra entrer le mot de passe
après avoir double clicker sur ton classeur dans la fenêtre de projet

Il y a peut-être d'autres solutions, mais je ne connait que celle là

A+

P.O
 

Discussions similaires

Statistiques des forums

Discussions
312 496
Messages
2 088 980
Membres
103 997
dernier inscrit
SET2A