[color=#0000FF]comment enleprotection dun classeur

  • Initiateur de la discussion mattttttttttrix
  • Date de début
M

mattttttttttrix

Guest
lut!

j'ai un script pour enlever une protection d'une feuille sue excel via une macro

Sub enleve_protection()
Dim a, b, c, d, e, f, g, h, i, j, k, l As Integer
On Error Resume Next
For a = 65 To 66
For b = 65 To 66
For c = 65 To 66
For d = 65 To 66
For e = 65 To 66
For f = 65 To 66
For g = 65 To 66
For h = 65 To 66
For i = 65 To 66
For j = 65 To 66
For k = 65 To 66
For l = 32 To 126
ActiveSheet.Unprotect Chr(a) & Chr(b) & Chr(c) & Chr(d) & Chr(e) & Chr(f) & Chr(g) & Chr(h) & Chr(i) & Chr(j) & Chr(k) & Chr(l)
If ActiveSheet.ProtectContents = False Then
MsgBox 'La Protection a été enlevée - Un mot de passe satisfaisant est :' & Chr(a) & Chr(b) & Chr(c) & Chr(d) & Chr(e) & Chr(f) & Chr(g) & Chr(h) & Chr(i) & Chr(j) & Chr(k) & Chr(l)
Exit Sub
End If
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next
Next

jai trouver ca sur un forum
now je voudrai enlever la protection du classeur comment dois-je faire????
 

Léa

Nous a quitté
Repose en paix
Bonsoir,

Ce code te permet de déterminer (si l'on veut) le mot de passe d'une feuille protégée.
Je dis si l'on veut car le créateur de ce code a été assez restrictif sur la validité du mot de passe utilisé :
il est constitué de 12 caractères, essentiellemnet des A et des B sauf pour le dernier
Grâce à 12 boucles !!!! il cherche a déprotéger ta feuille
Il ne pourra le faire que si le mot de passe respecte les conditions que je viens de citer
Si il trouve le mot de passe, il déprotège la feuille et de donne le mot de passe
La recherche doit certainement être longue, sauf si le mot de passe est du type 'AAAAAAAAAAA?' ? est un caractère quelconque dont le code est compris entre 32 et 126

Je ne sais pas si ce code pourra te rendre service réellement

Bonne soirée

Léa
 

Eric C

XLDnaute Barbatruc
Bonsoir le forum
Bonsoir matrix, bonsoir Léa

Léa a tout à fait raison dans son raisonnement des A & B. Avant d'aller rejoindre ma moitié, un code d'un forum concurrent pour la déprotection d'un classeur :

Code:
Const LgMax As Integer = 10
Dim Niv As Integer

Sub Déprotege()
  Niv = 0: Cherche ''
  MsgBox 'Mot de passe non trouvé.', vbInformation
End Sub

Private Sub Cherche(ByVal Mdp As String)
  Dim i As Integer
  On Error Resume Next
  For i = 32 To 255
'    ActiveSheet.Unprotect Mdp & Chr$(i)
    ActiveWorkbook.Unprotect Mdp & Chr$(i)
    If Err = 0 Then _
      MsgBox 'Mot de passe supprimé !' & vbLf & _
             'Passepartout : ' & Mdp & Chr(i), vbInformation: End
  Next i
  If Niv < LgMax Then
    Niv = Niv + 1
    For i = 33 To 34
      Cherche Mdp & Chr$(i)
    Next i
    Niv = Niv - 1
  End If
End Sub


Message édité par: Eric C, à: 03/03/2005 21:02

Message édité par: Eric C, à: 03/03/2005 21:03
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir Léa, Eric_C,


Heu... désolé de vous contredire mais ce morceau de code est tout à fait fonctionnel !

Un simple essai peut vous permettre de le vérifier.

Trouvé sur le net (auteur inconnu), je l'utilise pour ma part depuis plusieurs années et l'avais présenté il y a quelques temps dans ce fil de discussion : Lien supprimé.

Tout récemment, Risleure nous en parlait également dans ce fil :
Lien supprimé

Le but de cette procédure n'est pas de 'reconstituer' le mot de passe (je connais peu de logiciels pouvant le faire), mais de déterminer un équivalent...

Les voies du Seigneur sont impénétrables... ;)

Cordialement.

PS : en espérant te revoir bientôt parmi nous Léa... Bisou à toi.
 

Léa

Nous a quitté
Repose en paix
Bonsoir Didier,

Mais je ne le comprends pas alors ce bout de code
Des boucles imbriquées les unes dans les autres, faisant 'tourner' des caractères limités au 'A' et 'B' pour leur grande majorité ...
permetent, tu dis , de créer un équivalent ?
Je ne piges pas, mais c'est vrai que
Les voies du Seigneur sont impénétrables...

je l'essaierai demain et si j'ai le temps j'essaierai de comprendre
Dans le cas o&ugrave; je découvre quelquechose d'intéressant je te tiens au courant

Bonne nuit Didier

Léa

A défaut de revenir fréquemment vous revoir, je vous promet à tous et à toutes qu'à partir de Mardi prochain, que chaque fois que je pourrai accéder au Net, je vous laisserai un petit mot sur l'un des Forums. Des gens aussi gentils et disponibles que vous ne peuvent pas s'oublier rapidement
 

Discussions similaires

Réponses
4
Affichages
231
Réponses
8
Affichages
531