Déverrouillage de toutes les feuilles d'un classeur

Bonjour à toutes et tous !

Quelqu'un pourrait-il m'aider sur le thème de ce topic ?

J'ai ce code pour pouvoir déprotéger une feuille avec la fenêtre de mot de passe :

Sub Bouton7_Cliquer()

Dim Bon As Boolean

On Error Resume Next

Do While Bon = False

mdp = InputBox("Entrez le mot de passe")

ActiveSheet.Unprotect mdp

If Err.Number = 0 Then

Bon = True

Else

Err.Clear

End If

Loop

End Sub

Et j'ai trouvé ce code dans un topic (thx sidah.med) qui déprotège toutes les feuilles mais sans demande de mot de passe :

Sub DePro()

For i = 1 To Sheets.Count

With Sheets(i)

.Unprotect Password:="jojo"

End With

Next

End Sub

Et j'aimerai compiler ces codes en un pour déprotéger toutes les feuilles de mon classeur avec demande de mot de passe unique.

Et je ne sais hélas pas faire.

Bonjour Saphir,

A tester:

Sub test()

Dim Bon As Boolean, feuille As Worksheet

On Error Resume Next
Do While Bon = False
mdp = InputBox("Entrez le mot de passe")

For Each feuille In ActiveWorkbook.Worksheets
feuille.Unprotect mdp
Next

If Err.Number = 0 Then
Bon = True
Else
Err.Clear
End If
Loop

End Sub

Cordialement,

Bonjour,

Une autre proposition à étudier.

Cdlt.

Public Sub Protect_Sheets()
Dim sh As Worksheet
    For Each sh In ActiveWorkbook.Sheets
        If Not sh.ProtectContents Then
            sh.Protect Password:=PWD
        End If
    Next
End Sub

Public Sub UnProtect_Sheets()
Dim sh As Worksheet, r
    Do
        r = Application.InputBox(prompt:="Saisisssez le mot de passe", Type:=2)
        If r = False Then Exit Sub
    Loop While r = vbNullString
    If r <> PWD Then
    MsgBox "Mot de passe invalide!..."
    Exit Sub
    End If
    For Each sh In ActiveWorkbook.Sheets
        If sh.ProtectContents Then sh.Unprotect Password:=PWD
    Next
End Sub

Bonjour à vous,

J'ai deux propositions !!! Merci !

Et comme j'ai deux fichiers, je vais tester les deux et je vous fait un retour dans la foulée !

Merci pour votre réactivité !

Merci Jean-Eric et xorsankukai !

J'ai opté pour la première proposition !

C'est donc résolu pour moi

Re,

Il serait intéressant de connaître la(les) raison(s) pour le choix de la solution 1 [proposition de xorsankukai (que je salue!)]?

Cdlt.

En modifiant dans ton code (Jean-Eric) le password, ça ne fonctionnait pas

Re,

Alors là , tu as loupé une étape...

Le mot de passe PWD est une variable publique, déclarée dans un module spécifique.

PWD = excel

Cdlt.

Ah bin quand je dis que j'ai besoin d'aide

Je vais l'essayer sur un autre fichier en changeant le mot de passe dans le module spécifique.

Merci pour ton conseil avisé !

Jean-Eric,

Cela fonctionne ! Merci à toi !!!

Rechercher des sujets similaires à "deverrouillage toutes feuilles classeur"