Oter la protection d'une feuille excel avec une macro

Soyez le premier à donner votre avis sur cette source.

Snippet vu 86 573 fois - Téléchargée 42 fois

Contenu du snippet

la macro désactive la protection des feuilles Excel

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 :


Tout est dans le code (testé sous excel 97)

A voir également

Ajouter un commentaire

Commentaires

Messages postés
96
Date d'inscription
dimanche 16 février 2003
Statut
Membre
Dernière intervention
23 septembre 2007

Dès fois, on protège son document pour que personne ne puisse le modifier. Et puis, des années plus tard, on veut le modifier soit même... et la c'est le drame... Qu'est ce que j'ai bien pu mettre comme mot de passe ? ^^
Alors on se dit qu'il doit y'avoir quelqu'un quelque part qui a eu le même problème et qui nous a pondu une jolie marco pour ça, et on tombe ici ^^.
Finalement, tout tient dans cette commande "ActiveSheet.Unprotect" dont il fallait connaitre l'existance.
En tout cas merci pour ce code, dont l'interêt pratique est indiscutable ^^
Messages postés
50
Date d'inscription
samedi 17 janvier 2004
Statut
Membre
Dernière intervention
13 octobre 2011

Bonjour tout le monde,

vous voudrez bien excuser ma question, certainement basique.

Etant novice dans Excel, j'aimerai connaitre la procédure pour utiliser cette macro sous excel 2007.

Merci pour cette contribution
Messages postés
1
Date d'inscription
lundi 10 mai 2010
Statut
Membre
Dernière intervention
16 mai 2010

Merci a toi c'est génial je vais pouvoir en faire des choses avec ca
Messages postés
3
Date d'inscription
jeudi 27 septembre 2007
Statut
Membre
Dernière intervention
29 juin 2009

J'ai testé la macro ci-dessus, c'est fort !!!
(Heureusement que l'essentiel de mes protections se trouvent dans le projet VBA, et qu'il n'a pas le même mot de passe.)

Ca laisse perplexe quand-même... Bravo !
Messages postés
3
Date d'inscription
jeudi 27 septembre 2007
Statut
Membre
Dernière intervention
29 juin 2009

Protéger son application Excel, oui il y a des possibilités...
Je n'ai pas tout regardé en détail, mais il y a là un bon attirail de protections de base:
http://www.vbfrance.com/codes/ASTUCE-AMELIORER-SECURITE-ACCES-DONNEES-CODE-FICHIER-EXCEL_48448.aspx

Pour ma part, j'ai une application Excel ayant comme protection: un Numéro de série lié au Nom de l'utilisateur, qui permet d'utiliser l'application au complet si le code est donné.
J'ai mis le maximum de protection (cache les feuilles au démarrage si macros désactivées, remet le mot de passe au feuilles et au classeurs à chaque changement de feuille, etc...), un peu tout ce qu'il y a dans l'attirail ci-dessus.

Alors bien sûr si on accède au code VBA (protégé par mot de passe) on peut décortiquer le tout, mais si on cache bien les routines de manière déroutante, et si notre application n'a pas un trop grand succés. Alors on passe entre les gouttes des vrais hackers, et notre application peut être (relativement) protégée.
J'avais choisi de lier la protection avec le Nom de l'utilisateur, car dans mon cas, ce dernier avait une place primordiale dans le classeur. Pour faire mieux, on pourrait le lier au numéro de série du disque-dur par exemple.

Quand à vivre de cela ? 3000 téléchargement, environ 50 paiements...
Mais cela fait toujours plaisir de recevoir un enregistrement, c'est de l'argent de poche pour les vacances. :-)

(Concenant l'application et ses protections, je peux vous donner plus d'infos si nécessaire)

Merci à vous tous, et bravo à ce super site.
Afficher les 18 commentaires

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.