Bienvenue |
|
|
|
|
|
|
|
|
|
|
|
Astuce Faire sauter la protection |
|
|
Astuce :
Faire sauter la protection d'une feuille sous Excel !
Mot de passe oublié? Envie de connaitre les secret d'un tableau Excel protégé? Une simple macro et le tout devient accessible
Ouvrir l'éditeur VB (comme dans l'exemple pour Compter les couleurs)
- Onglet "Développeur", puis Icone "Visual Basic"
- Une fois arrivé sous VB, faites un clic droit sur votre classeur, "insertion", "module" Ou sélectionnez directement le premier module que vous voyez.

- Sélectionnez le module puis collez y le code suivant :
Sub Deproteger()
Dim A As Byte, B As Byte, C As Byte, D As Byte, E As Byte
Dim F As Byte, G As Byte, H As Byte, I As Byte, J As Byte
Dim K As Byte, L As Byte, M As Byte, N As Byte, O As Byte
Dim Reponse As Byte, Temps As Variant
Dim Cible As Object, Passe As String
' Demande ce qu'il faut déprotéger.
Reponse = MsgBox("Voulez-vous déprotéger le classeur actif ?" & vbCrLf & _
"Si vous répondez non, c'est la feuille active qui sera déprotégée. ", _
vbYesNoCancel, "Déprotectionnateur")
On Error Resume Next
' Teste ce qu'il faut déprotéger.
Select Case Reponse
Case vbYes
' Définit le classeur actif comme cible à déprotéger.
Set Cible = ActiveWorkbook
' Teste si le classeur est protégé.
If Not (Cible.ProtectStructure Or Cible.ProtectWindows) Then
MsgBox "Le classeur actif n'est pas protégé. " & vbCrLf & _
vbCrLf & "Andouille !", vbOKOnly, "Déprotectionnateur"
Exit Sub
End If
' Teste si le classeur est protégé sans mot de passe.
Err.Clear
Cible.Unprotect vbNullString
If Err = 0 Then
MsgBox "La protection du classeur actif a été supprimée. " _
& vbCrLf & "Il n'y avait pas de mot de passe. Petit rigolo !", _
vbOKOnly, "Déprotectionnateur"
Exit Sub
End If
Case vbNo
' Définit la feuille active comme cible à déprotéger.
Set Cible = ActiveSheet
' Teste si la feuille est protégée (on ne teste pas UserInterfaceOnly qui ne peut être positionné que par macro
' et n'est pas enregistré avec le classeur).
If Not (Cible.ProtectContents Or Cible.ProtectDrawingObjects Or _
Cible.ProtectScenarios) Then
MsgBox "La feuille active n'est pas protégée. " & vbCrLf & _
vbCrLf & "Patate !", vbOKOnly, "Déprotectionnateur"
Exit Sub
End If
' Teste si la feuille est protégée sans mot de passe.
Err.Clear
Cible.Unprotect vbNullString
If Err = 0 Then
MsgBox "La protection de la feuille active a été supprimée. " _
& vbCrLf & "Il n'y avait pas de mot de passe. Quelle burne !", _
vbOKOnly, "Déprotectionnateur"
Exit Sub
End If
Case Else
' Annulation demandée par l'utilisateur.
MsgBox String(14, " ") & "Ciao !", vbOKOnly, "Déprotectionnateur"
Exit Sub
End Select
' Note l'instant de départ.
Temps = Timer
' Boucles de calcul des mots de passe. On utilise ici les codes ascii des caractères "0" et "1".
For A = 48 To 49
For B = 48 To 49
For C = 48 To 49
For D = 48 To 49
For E = 48 To 49
For F = 48 To 49
For G = 48 To 49
For H = 48 To 49
For I = 48 To 49
For J = 48 To 49
For K = 48 To 49
For L = 48 To 49
For M = 48 To 49
For N = 48 To 49
For O = 48 To 49
' Calcule le mot de passe.
Passe = Chr(A) & Chr(B) & Chr(C) & Chr(D) & Chr(E) & _
Chr(F) & Chr(G) & Chr(H) & Chr(I) & Chr(J) & _
Chr(K) & Chr(L) & Chr(M) & Chr(N) & Chr(O)
' Essaie de déprotéger la cible.
Err.Clear
Cible.Unprotect Passe
' Teste si la cible est bien déprotégé.
If Err = 0 Then
' Si oui, affiche le mot de passe et sort.
MsgBox "La protection a été supprimée en " & _
Timer - Temps & " secondes. " & vbCrLf & _
"Le mot de passe équivalent trouvé est :" & _
vbCrLf & vbCrLf & String(28, " ") & Passe, _
vbOKOnly, "Déprotectionnateur"
Exit Sub
End If
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
' Message impossible à atteindre.
MsgBox "Mot de passe introuvable." & vbCrLf & vbCrLf & _
"C'est pas normal !!!", vbOKOnly, "Déprotectionnateur"
End Sub
Une fois terminé, revenez à votre feuille de calcul protégée.
- Onglet "Affichage", puis Icone "Macro"
- Choisissez "Afficher les macros" puis exécuter la macro créée (Déproteger)
Votre feuille est dévérouillée 
Nous serons heureux d'avoir votre avis sur cette astuce, et de pouvoir éventuellement la compléter grâce à vos interrogations. N'hésitez pas à laisser un commentaire.
|
|
|
|
|
|
|
|
|
|
|
|