Vérifier si le classeur est déjà déprotégé

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 !

criscris11

XLDnaute Accro
Bonsoir à tous,
Encore une petite question concernant VBA.
J'utilise un code pour déprotégé l'ensemble des feuilles d'un classeur avec ce code :
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 Workbooks("Matrice BDD BCL.xls").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

Dans d'autres macros, au début du code je lance la macro ci-dessus et j'aimerais savoir s'il était possible de tester si le classeur est déprotégé avant de lancer Application.Run "'Matrice BDD BCL.xls'!DeprotectionToutesLesFeuillesMDP" qui oblige l'utilisateur à ressaisir le mot de passe alors que le document est déjà déprotégé.

En espérant avoir été assez clair, merci d'avance et bonne soirée.
 
Re : Vérifier si le classeur est déjà déprotégé

Pierrot,
Toutes les feuilles sont prtégées par le même mot de passe via ce code :
Sub ProtectionToutesLesFeuillesMDP()
Application.ScreenUpdating = False
Dim Feuil As Worksheet
For Each Feuil In Workbooks("Matrice BDD BCL.xls").Sheets
Feuil.Protect Password:="chris"
Next Feuil
End Sub

Et pour l'instant, j'ai retenu ta solution au profit de celle à Spitnolan mais je garde son code sous le code.
Merci d'avance et bonne fin d'après-midi à tous les deux et à tous.
 
Re : Vérifier si le classeur est déjà déprotégé

Re

alors cela pourrait se résumer au code ci dessous :

Code:
Sub DeprotectionToutesLesFeuillesMDP()
Dim MyMtPss As String, Feuil As Worksheet
If ActiveSheet.ProtectContents = False Then Exit Sub
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"
For Each Feuil In Workbooks("Matrice BDD BCL.xls").Sheets
    Feuil.Unprotect Password:=MyMtPss
Next Feuil
End Sub

enfin je crois...

@+
 
Re : Vérifier si le classeur est déjà déprotégé

Re,
Après les tests du dernier code de Pierrot, j'adopte sa solution qui convient tout à fait à mes attentes.
Spit, t'inquiètes pas si ce coup-ci je n'ai pas choisi ta solution qui fonctionne bien également mais il faut bien faire un choix.
Tes codes m'ont souvent rendu et me rendront encore service donc pas de panique (je me rapelle un fil de ouf où tu as eu une place prépondérente) d'ailleurs je crois bien que notre ami du nord a abandonné depuis et toute façon ce fil a été perdu, dommage mais le fichier est resté bien au chaud.
Allez bonne soirée et bon muguet pour demain (n'oubliez pas vos chères et tendres).
Amicalement.
 
- 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
5
Affichages
811
Compte Supprimé 979
C
Réponses
2
Affichages
549
Réponses
5
Affichages
836
Réponses
19
Affichages
2 K
Retour