OTER LES PROTECTION DE FEUILLES ET CLASSEUR EXCEL. MÉTHODE SANS ÉCHEC.
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 2016
-
2 avril 2006 à 13:22
acyd -
4 sept. 2017 à 01:22
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
jordane45
Messages postés38112Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention29 mars 2024344
>
Whismeril
Messages postés18991Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention27 mars 2024 5 sept. 2014 à 12:53
@Whism .. la question n'est pas : Les macros ne se lancent pas .... mais plutôt.. elles sont protégées par mot de passe.....
@Seb ... si les macros sont protégées par mot de passe... il faut oter cette protection... (et pour ça... soit tu possède le mot de passe... soit tu contactes le créateur de la macro).
Il est également possible de faire "sauter" cette protection... toute fois.. on entre dans le "crackage"... et donc... le règlement du forum m'interdit de te donner la solution (relativement simple en plus.. mais bon... )
Office.. niveau sécurité..est loin d'être optimum.....
Il est extrêmement aisé de faire sauter les protection....et des solutions (logiciels ou sous forme de tutos) pullulent sur le net.... il suffit de chercher !
Whismeril
Messages postés18991Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention27 mars 2024654
>
jordane45
Messages postés38112Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention29 mars 2024 5 sept. 2014 à 15:07
S"il ne connait pas le mot de passe de son propre classeur, on ne peut pas grand chose pour lui.
Par contre si (comme je l'ai interprété) par défaut son office bloque les macros, il bloque l'accés à l'éditeur aussi.
jordane45
Messages postés38112Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention29 mars 2024344
>
Whismeril
Messages postés18991Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention27 mars 2024 5 sept. 2014 à 16:58
Heu... non...
La sécurité des macros joue sur leur exécution. ..pas sur leur accès dans le vbe...
Whismeril
Messages postés18991Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention27 mars 2024654
>
jordane45
Messages postés38112Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention29 mars 2024 5 sept. 2014 à 18:12
Ca doit être possible sur notre réseau d'entreprise on ne peut pas avoir l'éditeur.
jordane45
Messages postés38112Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention29 mars 2024344
>
Whismeril
Messages postés18991Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention27 mars 2024 5 sept. 2014 à 18:15
Je pense plus que c'est un réglage au niveau de la BDD ... et encore... même si le menu "développeur" n'est pas accessible dans le ruban... tu y as peut être accès via le raccourci clavier ALT + F11 ....
Mais en tous cas... ce n'est pas dans les règles de sécurité des macros... ou alors c'est super bien planqué.. par ce que perso.. je n'en ai jamais entendu parlé ... ^^
f_a_b
Messages postés57Date d'inscriptionvendredi 8 juillet 2005StatutMembreDernière intervention23 juillet 2015 20 juil. 2012 à 17:11
Bonjour,
Testé à l'instant sur Excel 2010 : Tip top !
Merci!!!!
kabannis
Messages postés3Date d'inscriptionmardi 26 avril 2005StatutMembreDernière intervention16 mai 2012 16 mai 2012 à 17:27
Bonjour à tous,
Cela fonctionne très bien pour moi.
Testé sur Excel 2007
theowalidhelena
Messages postés2Date d'inscriptionmercredi 28 mars 2012StatutMembreDernière intervention21 septembre 2018 28 mars 2012 à 16:22
Salut tout le monde ,
Au fait Merci pour cette astuce elle sert énormément.
J'ai reussi à déprotéger la feuille (code 0 - 1 etc )
Par contre, pour accéder à l'éditeur VBA (les feuilles sont déprotégées à partir d'un autre classeur) , impossible !
je dois encore une fois saisir un code , et la je sais plus comment faire pour débloquer le code d'accès à l'éditeur VBA
cs_elagbad
Messages postés1Date d'inscriptionmardi 28 octobre 2008StatutMembreDernière intervention10 mars 2012 10 mars 2012 à 20:18
ça marche nickel vraiment merci!!
Procédure sous MS Excel 2007
Tout d'abord télécharger le fichier Deprotection.bas ou copier le script puis le coller dans un fichier .bas
1- Si l’onglet Développeur n’est pas disponible, affichez-le de la manière suivante :
a- Cliquez sur le bouton Microsoft Office , puis sur Options Excel.
b- Dans la catégorie Standard, sous Meilleures options pour travailler avec Excel, activez la case à cocher Afficher l’onglet Développeur dans le ruban, puis cliquez sur OK.
2- Revenir à la feuille et cliquer sur l'onglet 'Développeur'
a- Cliquer sur l'icône 'Visual Basic'
b- Dans la nouvelle fenêtre, cliquer sur le menu 'Fichier' puis 'Importer un Fichier'.
3- Pour déprotéger une feuille, placer vous sur celle-ci cliquer sur l'onglet 'Développeur' puis sur l'icône 'Macros'. Mettez la macro 'Deprotegez' en surbrillance puis cliquez 'Exécuter', pour finir choisissez 'Non' dans le MessageBox qui apparait et le tour est joué!
gaston671
Messages postés1Date d'inscriptionlundi 21 novembre 2005StatutMembreDernière intervention 4 janvier 2012 4 janv. 2012 à 21:57
Bonjour,
L'outil est peut être très bien, mais comme il n'y a aucune procédure pas à pas pour expliquer comment faire, je ne vois pas comment l'utiliser...
Dans l'espoir d'une réponse.
cs_bidouille007
Messages postés257Date d'inscriptionjeudi 11 septembre 2008StatutMembreDernière intervention22 décembre 20121 14 mars 2011 à 14:49
marche toujours aussi bien
m'a retiré une bonne aiguille du pied pour ôter la protection d'un mot de passe sur une feuille pour y corriger un bug dans une formule
juste que j'aurai bien aimé connaître le mot de passe, car ca affiche des 1 et des 0
olanick
Messages postés1Date d'inscriptionmardi 15 juin 2010StatutMembreDernière intervention15 juin 2010 15 juin 2010 à 21:53
bonjour et merci pour ces informations.
J'ai copié et coller la macro dans visual basic sous excel 2007.
Mais rien ne se passe.
il me met divers erreur : "syntaxe, enregistrement..."
Merci de me préciser comment résoudre ce petit soucie? ou peut être m'aiguiller pour l'enregistrement?
Merci d'avance votre réponse
alimanex
Messages postés7Date d'inscriptionmardi 29 mai 2007StatutMembreDernière intervention30 avril 2010 30 avril 2010 à 11:50
MERCI BEAUCOUP MON VIEUX
akbourlahcen
Messages postés1Date d'inscriptionlundi 30 décembre 2002StatutMembreDernière intervention20 janvier 2010 20 janv. 2010 à 18:12
bonjour a tous, personnelement j'est testé la macro il m'rendu satisfaction
merci
nrj64
Messages postés1Date d'inscriptionmardi 22 mai 2007StatutMembreDernière intervention 4 décembre 2008 4 déc. 2008 à 23:27
Sa marche 100% sur Exel 2007 Merci
cs_Patpo
Messages postés1Date d'inscriptiondimanche 3 août 2008StatutMembreDernière intervention26 novembre 2008 26 nov. 2008 à 19:30
Bonjour,
je suis peut être pas tres doué car ca ne fonctionne pas sous ma version 2003.
Cdt.
chepa001
Messages postés5Date d'inscriptionmercredi 27 décembre 2006StatutMembreDernière intervention 9 janvier 2007 9 janv. 2007 à 17:50
A FonduVB:
J'ai un Soft sur mon PC qui peut déprotéger des fichiers en lecture seule.
Je ne sais pas si ça t'intéresse tjrs de m'envoyer ton fichier?
PS: je n'ai pas le fichier d'installation. mais pour que tu ai le logiciel sur ton pc, je peux essayer d'envoyer le dossier contenu dans program files + fichier registre. Je ne sais pas si ça va marcher(d'ailleurs j'en doute fort).
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 9 janv. 2007 à 00:04
De rien... Effectivement, on peut utiliser quelques shareware, mais qui ne donne pas le passe en entier en général. Mais parfois, cela réveille des souvenirs... Sinon, une alternative c'est d'utiliser Open Office à ce qu'il paraît... mais sûrement pas pour longtemps... à voir.
Amicalement,
Us.
fonduvb
Messages postés12Date d'inscriptionsamedi 20 novembre 2004StatutMembreDernière intervention 8 décembre 2011 7 janv. 2007 à 20:21
Merci US_30 ! Je comprends enfin pourquoi je n'y parvenais pas... Je tentais effectivement d'ouvrir un fichier protégé en lecture .J'avais oublié que les codes pour ouvrir un tel fichier font partie de la chasse gardée des logiciels payants.. Je n'ai pas encore trouvé de solutions pour ouvrir ce fichier qui m'appartient...
Amitiés à tous
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 5 janv. 2007 à 21:46
bonsoir FonduVB,
Petite précision au passage... La fonction n'est censée supprimer la protection en lecture d'un fichier Excel, mais supprime la protection d'une feuille ou d'un classeur d'Excel. Ce qui n'est pas la même chose !
Pour utiliser la fonction, rien de compliqué. Il suffit de copier le code dans un module, par exemple dans un classeur par défaut : Classeur1.xls, puis ouvrir le classeur protégé (ou bien possédant des feuilles protégées) et de lancer la macro avec ALT+F8 (par exemple)... et de choisir (ici) classeur1.xls!Deproteger pour le nom de la macro...
Amicalement,
Us.
fonduvb
Messages postés12Date d'inscriptionsamedi 20 novembre 2004StatutMembreDernière intervention 8 décembre 2011 5 janv. 2007 à 09:01
oui... je répère mon problème ! cette fonction est censée supprimer la protection en lecture d'un fichier Excel. Cependant, lorsque j'ouvre le fichier protégé et que l'on obtient la fenêtre demandant le mot de passe je ne parviens pas à lancer la macro de déprotection. Lorsque j'y parviens (à partir d'un autre classeur, d'une macro personnelle, etc...) la macro considére que le fichier à déprotéger est le fichier qui l'héberge (qui n'est donc pas protégé et n'est pas le fichier que l'on souhaite déprotéger..). Je n'ai pas encore trouvé la solution...
chepa001
Messages postés5Date d'inscriptionmercredi 27 décembre 2006StatutMembreDernière intervention 9 janvier 2007 4 janv. 2007 à 16:54
Je viens de comprendre ce que tu veux dire.
J'ai bien peur de ne pouvoir aider, car le fichier est carrement protégé en lecture. est-ce bien ton cas?
chepa001
Messages postés5Date d'inscriptionmercredi 27 décembre 2006StatutMembreDernière intervention 9 janvier 2007 4 janv. 2007 à 11:25
j'attends to mail alors.
Si j'arrive à solutionner le Pb, je t'envoi une explication complète.
Salut
fonduvb
Messages postés12Date d'inscriptionsamedi 20 novembre 2004StatutMembreDernière intervention 8 décembre 2011 4 janv. 2007 à 09:13
Une solution mais qui ne me dira pas comment utiliser la macro décrite dans cette page... J'avoue y avoir passé du temps et tenté pas mal de solutions en vain...
chepa001
Messages postés5Date d'inscriptionmercredi 27 décembre 2006StatutMembreDernière intervention 9 janvier 2007 3 janv. 2007 à 16:57
Peux tu envoyer le fichier en question? Histoire de voir quel est le problème.
Yaihi@mail.com
fonduvb
Messages postés12Date d'inscriptionsamedi 20 novembre 2004StatutMembreDernière intervention 8 décembre 2011 3 janv. 2007 à 15:32
Bonjour,
Pour Chepa001 : Ca ne fonctionne pas.. lorsque tu lances la macro de déprotection tu arrives sur le message demandant si tu veux déprotéger le classeur actif. Tu lances ensuite le fichier protégé et te retrouves sur la fenêtre demandant le mot de passe. Si tu retournes sur la macro, celle ci considère que le fichier actif est son propre fichier d'appartenance et l'indique comme non protégé !!! J'ai essayé en indiquant le nom du fichier protégé dans la macro au lieu d'Activeworkshop ou en mettant une temporisation mais rien ne fonctionne... Je cherche à entrer dans une application que j'ai faite il y a quelques années pour récupérer les codes sources qui me seraient utiles maintenant(histoire de gagner du temps...)
chepa001
Messages postés5Date d'inscriptionmercredi 27 décembre 2006StatutMembreDernière intervention 9 janvier 2007 2 janv. 2007 à 16:03
La sollution à ton PB est de mettre la macro dans un fichier excel à part.
que tu ouvre en activant la macro. Puis tu ouvre le document à déprotéger en désactivant ses Macros, puis de là tu lance la macro de déprotection.
fonduvb
Messages postés12Date d'inscriptionsamedi 20 novembre 2004StatutMembreDernière intervention 8 décembre 2011 29 déc. 2006 à 22:54
Bonjour,
Même problème et même question que le prédécesseur... Comme rendre active la macro en même temps que le classeur, la procédure d'authentification du mot de passe du classeur ne laissant pas la main pour lancer la macro. Si on lance la macro avant elle ne peut lire le fichier non encore lancé.. Quelle est la méthode ? Merci
cs_bourasseau
Messages postés1Date d'inscriptionvendredi 3 novembre 2006StatutMembreDernière intervention 3 novembre 2006 3 nov. 2006 à 20:27
Bonjour,
Le problème est que je ne peux pas rendre actif le classeur protégé par mot de passe car la boite de dialogue mot de passe se ferme et le classeur aussi, donc la macro ne sert a rien puisque le classeur est fermé.
A moins qu'il y ait une autre combine.
merci pour la réponse
cyril16000
Messages postés1Date d'inscriptionlundi 3 juillet 2006StatutMembreDernière intervention 9 août 2006 9 août 2006 à 12:54
Hello!
J'ai bien aimé le message "le classeur n'est pas protégé, ANDOUILLE", lorsque l'on fait un test sur un classeur effectivement NON PROTEGE...
Bien ri!!! Merci...
chepakoidir
Messages postés2Date d'inscriptionvendredi 22 juillet 2005StatutMembreDernière intervention 2 avril 2006 2 avril 2006 à 17:52
Salut,
Je suis d'accord, l'idée est bonne mais alors ça ne marcherait qu'avec des mots de passe composés de 1 et de 0.
Dans mes boucles j'utilise 48 et 49 qui sont les codes ascii de "0" et "1" mais on peut aussi bien les remplacer par les codes 65 et 66 ("A" et "B") ou autre chose. Et l'astuce ne marche plus !
Pour le temps, tout dépend si le mot passe initial a modifié ou pas les bits de gauche de la clé. A cause de la constante CA4Bh mise en Xor, les petits passes donne un bit 15 à 1 par exemple mais pas les grands. On peut mélanger les boucles mais c'est impossible à optimiser, faudrait connaître le passe avant de l'avoir trouvé !!!
Bah, on n'est pas à une minute près. Mon objectif était surtout d'expliquer le principe de la chose. Je préférerais lire la clé dans le fichier et calculer directement un passe avec. Mon problème c'est que la doc Microsoft est peu claire sur la structure du fichier. Si quelqu'un a des infos ...
Amicalement,
Chepakoidir
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 2 avril 2006 à 13:29
Complément,
Bien sur, N et B seront déclarés en Integer... D'ailleurs, au lieu du type byte, dans ton code tu devrais chosir le type Integer que sera un peu plus rapide...
Us.
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 2 avril 2006 à 13:22
Salut,
JE pense qu'on peutt largemenent optimiser le code...
Par exemple, au lieu de toutes les lignes FOR, on peut construire directement les nb binaires, qui ce révèle globlalement plus rapide...
Voici, une possibilité :
'Boucles de calcul des mots de passe
Fin = 2 ^ 15 - 1
For N = 0 To Fin Step 1
Passe = vbNullString
B = N
Do
Passe = CStr(B Mod 2) & Passe
B = B \ 2
Loop While B > 0
'Erreur nulle
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 N
Après quelques mesures du temps, j'ai obtenu avec cette version une durée globalement réduite de 2 à 8 fois. (Le temps dépend aussi du mot de passe à découvrir, par ex: si mot de passe = "fred" (140s contre 315s) alors c'est bien plus long à découvrir que "a" (18s contre 145s))
4 sept. 2017 à 01:22
22 déc. 2014 à 14:15
Merci
5 sept. 2014 à 02:06
5 sept. 2014 à 12:41
5 sept. 2014 à 12:53
@Seb ... si les macros sont protégées par mot de passe... il faut oter cette protection... (et pour ça... soit tu possède le mot de passe... soit tu contactes le créateur de la macro).
Il est également possible de faire "sauter" cette protection... toute fois.. on entre dans le "crackage"... et donc... le règlement du forum m'interdit de te donner la solution (relativement simple en plus.. mais bon... )
Office.. niveau sécurité..est loin d'être optimum.....
Il est extrêmement aisé de faire sauter les protection....et des solutions (logiciels ou sous forme de tutos) pullulent sur le net.... il suffit de chercher !
5 sept. 2014 à 15:07
Par contre si (comme je l'ai interprété) par défaut son office bloque les macros, il bloque l'accés à l'éditeur aussi.
5 sept. 2014 à 16:58
La sécurité des macros joue sur leur exécution. ..pas sur leur accès dans le vbe...
5 sept. 2014 à 18:12
5 sept. 2014 à 18:15
Mais en tous cas... ce n'est pas dans les règles de sécurité des macros... ou alors c'est super bien planqué.. par ce que perso.. je n'en ai jamais entendu parlé ... ^^
2 sept. 2014 à 15:06
20 juil. 2012 à 17:11
Testé à l'instant sur Excel 2010 : Tip top !
Merci!!!!
16 mai 2012 à 17:27
Cela fonctionne très bien pour moi.
Testé sur Excel 2007
28 mars 2012 à 16:22
Au fait Merci pour cette astuce elle sert énormément.
J'ai reussi à déprotéger la feuille (code 0 - 1 etc )
Par contre, pour accéder à l'éditeur VBA (les feuilles sont déprotégées à partir d'un autre classeur) , impossible !
je dois encore une fois saisir un code , et la je sais plus comment faire pour débloquer le code d'accès à l'éditeur VBA
10 mars 2012 à 20:18
Procédure sous MS Excel 2007
Tout d'abord télécharger le fichier Deprotection.bas ou copier le script puis le coller dans un fichier .bas
1- Si l’onglet Développeur n’est pas disponible, affichez-le de la manière suivante :
a- Cliquez sur le bouton Microsoft Office , puis sur Options Excel.
b- Dans la catégorie Standard, sous Meilleures options pour travailler avec Excel, activez la case à cocher Afficher l’onglet Développeur dans le ruban, puis cliquez sur OK.
2- Revenir à la feuille et cliquer sur l'onglet 'Développeur'
a- Cliquer sur l'icône 'Visual Basic'
b- Dans la nouvelle fenêtre, cliquer sur le menu 'Fichier' puis 'Importer un Fichier'.
3- Pour déprotéger une feuille, placer vous sur celle-ci cliquer sur l'onglet 'Développeur' puis sur l'icône 'Macros'. Mettez la macro 'Deprotegez' en surbrillance puis cliquez 'Exécuter', pour finir choisissez 'Non' dans le MessageBox qui apparait et le tour est joué!
4 janv. 2012 à 21:57
L'outil est peut être très bien, mais comme il n'y a aucune procédure pas à pas pour expliquer comment faire, je ne vois pas comment l'utiliser...
Dans l'espoir d'une réponse.
14 mars 2011 à 14:49
m'a retiré une bonne aiguille du pied pour ôter la protection d'un mot de passe sur une feuille pour y corriger un bug dans une formule
juste que j'aurai bien aimé connaître le mot de passe, car ca affiche des 1 et des 0
15 juin 2010 à 21:53
J'ai copié et coller la macro dans visual basic sous excel 2007.
Mais rien ne se passe.
il me met divers erreur : "syntaxe, enregistrement..."
Merci de me préciser comment résoudre ce petit soucie? ou peut être m'aiguiller pour l'enregistrement?
Merci d'avance votre réponse
30 avril 2010 à 11:50
20 janv. 2010 à 18:12
merci
4 déc. 2008 à 23:27
26 nov. 2008 à 19:30
je suis peut être pas tres doué car ca ne fonctionne pas sous ma version 2003.
Cdt.
9 janv. 2007 à 17:50
J'ai un Soft sur mon PC qui peut déprotéger des fichiers en lecture seule.
Je ne sais pas si ça t'intéresse tjrs de m'envoyer ton fichier?
PS: je n'ai pas le fichier d'installation. mais pour que tu ai le logiciel sur ton pc, je peux essayer d'envoyer le dossier contenu dans program files + fichier registre. Je ne sais pas si ça va marcher(d'ailleurs j'en doute fort).
9 janv. 2007 à 00:04
Amicalement,
Us.
7 janv. 2007 à 20:21
Amitiés à tous
5 janv. 2007 à 21:46
Petite précision au passage... La fonction n'est censée supprimer la protection en lecture d'un fichier Excel, mais supprime la protection d'une feuille ou d'un classeur d'Excel. Ce qui n'est pas la même chose !
Pour utiliser la fonction, rien de compliqué. Il suffit de copier le code dans un module, par exemple dans un classeur par défaut : Classeur1.xls, puis ouvrir le classeur protégé (ou bien possédant des feuilles protégées) et de lancer la macro avec ALT+F8 (par exemple)... et de choisir (ici) classeur1.xls!Deproteger pour le nom de la macro...
Amicalement,
Us.
5 janv. 2007 à 09:01
4 janv. 2007 à 16:54
J'ai bien peur de ne pouvoir aider, car le fichier est carrement protégé en lecture. est-ce bien ton cas?
4 janv. 2007 à 11:25
Si j'arrive à solutionner le Pb, je t'envoi une explication complète.
Salut
4 janv. 2007 à 09:13
3 janv. 2007 à 16:57
Yaihi@mail.com
3 janv. 2007 à 15:32
Pour Chepa001 : Ca ne fonctionne pas.. lorsque tu lances la macro de déprotection tu arrives sur le message demandant si tu veux déprotéger le classeur actif. Tu lances ensuite le fichier protégé et te retrouves sur la fenêtre demandant le mot de passe. Si tu retournes sur la macro, celle ci considère que le fichier actif est son propre fichier d'appartenance et l'indique comme non protégé !!! J'ai essayé en indiquant le nom du fichier protégé dans la macro au lieu d'Activeworkshop ou en mettant une temporisation mais rien ne fonctionne... Je cherche à entrer dans une application que j'ai faite il y a quelques années pour récupérer les codes sources qui me seraient utiles maintenant(histoire de gagner du temps...)
2 janv. 2007 à 16:03
que tu ouvre en activant la macro. Puis tu ouvre le document à déprotéger en désactivant ses Macros, puis de là tu lance la macro de déprotection.
29 déc. 2006 à 22:54
Même problème et même question que le prédécesseur... Comme rendre active la macro en même temps que le classeur, la procédure d'authentification du mot de passe du classeur ne laissant pas la main pour lancer la macro. Si on lance la macro avant elle ne peut lire le fichier non encore lancé.. Quelle est la méthode ? Merci
3 nov. 2006 à 20:27
Le problème est que je ne peux pas rendre actif le classeur protégé par mot de passe car la boite de dialogue mot de passe se ferme et le classeur aussi, donc la macro ne sert a rien puisque le classeur est fermé.
A moins qu'il y ait une autre combine.
merci pour la réponse
9 août 2006 à 12:54
J'ai bien aimé le message "le classeur n'est pas protégé, ANDOUILLE", lorsque l'on fait un test sur un classeur effectivement NON PROTEGE...
Bien ri!!! Merci...
2 avril 2006 à 17:52
Je suis d'accord, l'idée est bonne mais alors ça ne marcherait qu'avec des mots de passe composés de 1 et de 0.
Dans mes boucles j'utilise 48 et 49 qui sont les codes ascii de "0" et "1" mais on peut aussi bien les remplacer par les codes 65 et 66 ("A" et "B") ou autre chose. Et l'astuce ne marche plus !
Pour le temps, tout dépend si le mot passe initial a modifié ou pas les bits de gauche de la clé. A cause de la constante CA4Bh mise en Xor, les petits passes donne un bit 15 à 1 par exemple mais pas les grands. On peut mélanger les boucles mais c'est impossible à optimiser, faudrait connaître le passe avant de l'avoir trouvé !!!
Bah, on n'est pas à une minute près. Mon objectif était surtout d'expliquer le principe de la chose. Je préférerais lire la clé dans le fichier et calculer directement un passe avec. Mon problème c'est que la doc Microsoft est peu claire sur la structure du fichier. Si quelqu'un a des infos ...
Amicalement,
Chepakoidir
2 avril 2006 à 13:29
Bien sur, N et B seront déclarés en Integer... D'ailleurs, au lieu du type byte, dans ton code tu devrais chosir le type Integer que sera un peu plus rapide...
Us.
2 avril 2006 à 13:22
JE pense qu'on peutt largemenent optimiser le code...
Par exemple, au lieu de toutes les lignes FOR, on peut construire directement les nb binaires, qui ce révèle globlalement plus rapide...
Voici, une possibilité :
'Boucles de calcul des mots de passe
Fin = 2 ^ 15 - 1
For N = 0 To Fin Step 1
Passe = vbNullString
B = N
Do
Passe = CStr(B Mod 2) & Passe
B = B \ 2
Loop While B > 0
'Erreur nulle
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 N
Après quelques mesures du temps, j'ai obtenu avec cette version une durée globalement réduite de 2 à 8 fois. (Le temps dépend aussi du mot de passe à découvrir, par ex: si mot de passe = "fred" (140s contre 315s) alors c'est bien plus long à découvrir que "a" (18s contre 145s))
Amicalement,
Us.