J'ai un classeur Excel.
Deux ans avant de définir l'option de protection par mot de passe pour l'une des feuilles. Maintenant, j'ai oublié le mot de passe. Existe-t-il un moyen de récupérer le mot de passe de cette feuille Excel?
J'ai un classeur Excel.
Deux ans avant de définir l'option de protection par mot de passe pour l'une des feuilles. Maintenant, j'ai oublié le mot de passe. Existe-t-il un moyen de récupérer le mot de passe de cette feuille Excel?
Vous ne pouvez pas récupérer LE mot de passe, mais vous pouvez déprotéger la feuille (le hachage utilisé pour protéger la feuille est assez sujet aux collisions dans les anciennes versions d'Excel, donc générer une collision est assez rapide ici).
Il existe des scripts disponibles qui permettront à la force brute d'ouvrir votre feuille en très peu de temps.
Jetez un œil ici par exemple: http://www.theofficeexperts.com/VBASamples/Excel02.htm
Voici le code:
Sub PasswordBreaker()
'Author unknown but submitted by brettdj of www.experts-exchange.com
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer
On Error Resume Next
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If ActiveSheet.ProtectContents = False Then
MsgBox "One usable password is " & Chr(i) & Chr(j) & _
Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
ActiveWorkbook.Sheets(1).Select
Range("a1").FormulaR1C1 = Chr(i) & Chr(j) & _
Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
Exit Sub
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
End Sub