Oter la protection d'une feuille excel par macro (tabulations refaites)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 308 408 fois - Téléchargée 43 fois

Contenu du snippet

La macro enleve la protection de la feuille excel active.Choisissez Outils, Macro, Visual Basic Editor et collez cette Macro. Dans la feuille active protégée, choisissez Outils, Macro, Macro puis selectionnez la macro enleve_protection et cliquez sur Executer. La macro enlève la protection de la feuille et affiche quel est le mot de passe qui est parvenu à ce résultat.

Source / Exemple :


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
End Sub

Conclusion :


Testé sous Excel 97.

A voir également

Ajouter un commentaire

Commentaires

cs_Willi
Messages postés
2377
Date d'inscription
jeudi 12 juillet 2001
Statut
Modérateur
Dernière intervention
15 décembre 2018
16 -
Bon code à tester sur les versions ultérieur d'Exel
Bonne prog !

http://www.perfectvb2k2.fr.st
cs_Lolux
Messages postés
159
Date d'inscription
mardi 18 décembre 2001
Statut
Membre
Dernière intervention
15 septembre 2005
-
Excellent ! Je cherchais un truc du genre depuis un moment ! ;-))))
Tu peux expliquer un peux ton code parce que là je comprend rien...
granddebutant
Messages postés
7
Date d'inscription
mardi 9 avril 2002
Statut
Membre
Dernière intervention
4 juillet 2002
-
Je ne connais pas la technique de codage de protection de feuille de Microsoft.
Mais voilà ce que j'ai fait pour créer cette macro :
J'ai lu quelque part qu'un mot de passe courant de feuille excel était codé sur 12 caractères. Le reste était facile. J'ai d'abord créé des boucles For...Next avec 12 variables prenant tous les caractères ascii existants (chr(0) à chr(255) ) puis je me suis aperçu que les 11 premiers caractères étaient toujours A ou B ( chr(65) ou chr(66) ) . Ensuite je n'ai eu qu' à réduire la plage de recherche du dernier caractère en fonction des résultats obtenus.
J'espère que cette macro vous servira.
Je suis en train de voir pour la technique de codage et le mot de passe de fichier excel.
cs_Lolux
Messages postés
159
Date d'inscription
mardi 18 décembre 2001
Statut
Membre
Dernière intervention
15 septembre 2005
-
Grace à ton truc, je viens de gagner une journée de travail à copier coller des 10aines de feuillets dont le propriétaire avait oublié le mot de passe... Travail de M#£@€rde!!!... Et là : 15 mn montre en main !
Les logiciels qui font ça sont payants et se vendent près de 200$ sur le net...
Merci encore !
cs_scripteur
Messages postés
1
Date d'inscription
mercredi 20 novembre 2002
Statut
Membre
Dernière intervention
20 novembre 2002
-
Pour des versions supérieures d'excel modifier le code comme suit

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)

sinon erreur de compilation
Bon Boulot simple à comprendre et cela marche (pour les feuilles pas pour les classeurs)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.