Menu

P’tit crack, pirate !


Aujourd'hui, ça pédale dans la semoule, TheBoss ayant trouvé une erreur dans un document Microsoft Excel.

Bien sûr, Muchmuch est sollicité pour régler le problème.

Capture icône Excel "Oter la protection de la feuille". Mais, il se trouve que la feuille est protégée contre les modifications, par le menu "Révision" => "Protection".

Mot de passe perdu (lol)

Muchmuch s'attèle à ôter la protection de la feuille, mais voilà t'y pas que Microsoft Excel lui réclame un mot de passe.

Capture Excel, Boite de dialogue de demande du mot de passe.

Figure 1 : Demande du mot de passe.

Évidemment, le collègue fortiche en informatique qui a réalisé ce tour de cochon s'est évanoui dans la nature depuis longtemps.

Des recettes toutes faites

OpenOffice/LibreOffice

Encore une fois, les suites gratuites concurrentes, volent au secours de Microsoft.
À croire qu'elles ont été créées pour servir de SAV à Microsoft !

Logo LibreOffice.

Comme nous sommes sur un site de tutoriels, voici la marche à suivre.
Cherchez dans un moteur de recherche des expressions comme "protection Excel OpenOffice".

Logiciels dédiés

Ils existent plusieurs logiciels.
Certains sont payants et il existe quelques solutions gratuites comme ici.

Ils t'ont volé ta recette !

Un petit gars, à créer une macro-commande.
L'auteur est inconnu, mais son code est largement diffusé sur Internet comme ici pour les "pros" d’Excel :

Sub PasswordBreaker()
'Author unknown

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

Il serait bien possible que beaucoup de solutions payantes utilisent sa recette.

Recette maison

Comme ces solutions ne sont pas applicables, avec la bonté qui me caractérise (et une facture proportionnelle à l'urgence de la situation), je propose mes services à Muchmuch.

Limitation

Cryptage Canal+ photo.

Si le fichier est crypté, rendez votre tablier. Le secret de fabrication est bien gardé et notre recette ne fonctionnera pas.

Nos ingrédients

Version de Microsoft Excel

Cette recette a été testée et approuvée pour les versions 2007 et 2010.

Fichier ".ZIP"

Il est nécessaire de posséder un logiciel capable de traiter les archives ".ZIP".

Nous évitons la fonction intégrée à Windows.
C'est de la daube suffisante pour une cure d'amaigrissement, mais paradoxalement, trop légère pour notre besoin.
Je suis un peu mauvaise langue (de bœuf) mais c'est un régal de mettre en boite une daube.

7zip icône.J'ai choisi 7Zip qui est gratuit, mais tout autre fera l'affaire.

Explorateur Windows

Vous devez savoir gérer vos fichiers et utiliser l'explorateur Windows.

Comme nous sommes sur un site de tutoriels, voici la marche à suivre.
Cherchez dans un moteur de recherche "explorateur Windows".

Bloc-notes

Celui de Windows bien que frustre est suffisant.

Préparation

Il serait sage de travailler sur une copie de votre fichier. Enfin ! Ça c'est vous qui voyez.

Extension en .zip

Tout d'abord, changeons l'extension du fichier. Pour ce faire encore faut-il les voir.

Capture menu option des dossiers Windows.

Figure 2 : Menu options de l'explorateur Windows.

Comme nous sommes sur un site de tutoriels, voici la marche à suivre.
Cherchez où vous voulez "Afficher les extensions de fichiers".

Capture Options de l'explorateur Windows.

Figure 3 : Options de l'explorateur Windows.

Changer ensuite l'extension ".XLSX" par ".ZIP".

Capture changer extension fichier.

Figure 4 : Changer l'extension.

Monsieur râle, mais confirmez, on ne va pas se laisser embêter par un "PC (Petit Con)" quand même !

Capture confirmation changement extension.

Figure 5 : Confirmer le changement d'extension.

Exécution

Ouvrir l'archive

Avec la dextérité d’un maitre artisan, utilisez le bouton droit de la souris sur le fichier ".ZIP".
Sélectionnez dans le menu "7Zip", l’option "Ouvrir".

Capture menu contextuel ouvrir avec 7zip.

Figure 6 : Ouvrir un fichier zip.

Extraire la/les feuilles concernées

Une fois l'archive ouverte et sous vos yeux ébahis et stupéfaits, accédez aux arcanes d'un fichier Microsoft Excel.

Capture contenu fichier xlsx dans 7zip.

Figure 7 : Contenu fichier xlsx dans 7zip.

Allez dans le dossier xl\worksheets à l'aide d'un double-clic sur son nom.

Figure : Contenu de l'archive.

Figure 8 : Contenu de l'archive.

  • Sheet1.xml est la première feuille du classeur ;
  • Sheet2.xml, comme de bien entendu c'est la seconde feuille du classeur.

Ne me demandez pas ce qu'est "Sheet3.xml", je n'en ai pas la moindre idée, n'ayant que 2 feuilles dans le classeur.

Précisions

Soulignons la date de création de ces feuilles – 1980-01-01 00:00 (01 janvier 1980 00:00).

Mazette, faire travailler des ingénieurs un soir de réveillon, tu m'étonnes que leurs logiciels soient si chers !

Bel exemple de mises à jour régulières 🙂

Extraire les feuilles

Glisser la ou les feuilles de l'archive à modifier dans un dossier quelconque.

Capture contenu du dossier xlworksheet.

Figure 9 : Feuilles extraites de l'archive.

Vous pouvez aussi utiliser le menu "Extraire".
Je ne vous le conseille pas, c'est plus long, et ça fait moins "pro".

Ouvrir le fichier .XML

Les fichiers ".XML", sont des fichiers texte. Vous pouvez donc les ouvrir avec le Bloc-notes de Windows.

Ne faites pas un double-clic, il y a des chances que votre fichier s'ouvre avec votre navigateur Internet et il ne sera pas modifiable.

Capture du contenu du fichier xml.

Figure 10 : Contenu du fichier xml.

Utilisez une autre technique comme lancer le Bloc-notes (pas trop fort, il ne reviendrait pas) et ensuite ouvrir le fichier.
Vous pouvez aussi utiliser le bouton droit sur le fichier et choisir l'option "Ouvrir avec...".

Rechercher le mot de passe

Dans le Bloc-notes, direction le menu "Édition" => "Rechercher...".

Dans la boite de recherche saisissez le terme "password".

Capture boite de dialogue Rechercher dans le bloc-notes.

Figure 11 : Rechercher dans le bloc-notes.

Votre mot de passe se trouve entre guillemets après la chaine "password =".

Capture chaine contenant le mot de passe.

Figure 12 : Chaine contenant le mot de passe.

Ce n'est pas votre mot de passe ?

Dans le fichier ".XML", votre mot de passe est crypté. Ainsi le mot de passe "123" produit la chaine "CF7A".

Logique d’un informaticien

Ils se sont cassé L'O.S. à faire une fonction de cryptage du mot de passe, mais on peut le supprimer à loisirs.
Vous comprenez maintenant, pourquoi comprendre un informaticien est incompréhensible ?

Supprimer le mot de passe

Il vous reste à supprimer la valeur entre guillemets.
Il faudra toujours ôter la protection, mais il n'y aura plus de mot de passe.

Il est aussi possible de supprimer tout ce qui est entre les symboles inférieur [<] et supérieur [>].
Pour votre culture sachez que l'on appelle ce principe une balise.

Capture balise en charge de la protection.

Figure 13 : Balise en charge de la protection.

Avec cette manipulation, il n'y aura même plus à enlever la protection.

Des changements à partir de 2013

Les gens de Microsoft on du lire cet article ainsi, certains utilisateurs m'ont avertis que cette astuce ne fonctionnait plus à partir de la version 2013.
La procédure est inchangée, c'est la chaine à supprimer qui diffère.
Il faut rechercher le texte sheetprotection et supprimer jusqu'à SelectlLockedcells="1".
N'oubliez pas d'enlever aussi la balise de début (symbole inférieur <) et celle de fin (/>).

Fermer le fichier.

Je vous demanderais de ne pas me contacter si la procédure ne fonctionne pas car à cette étape vous auriez oublié d'enregistrer le fichier !

Finitions

Intégrer dans l'archive

J'espère que vous aviez compris que nous aurions encore besoin du fichier ".ZIP" et donc qu'il est toujours ouvert dans 7Zip.
Sinon, vous savez ce qu'il vous reste à faire.

Prenez le fichier ".XML" modifié, et glissez le dans l'archive.
7Zip vous demande de confirmer, le remplacement du fichier existant.

Capture, confirmer le remplacement du fichier dans 7zip.

Figure 14 : Confirmer le remplacement du fichier dans 7zip.

Si vous hésitez entre "Oui" ou "Non", je vous remercie d’oublier jusqu’à l’existence de cet article.

Renommer en .XLSX

Vous l'avez fait dans un sens, il faut le faire dans l'autre. Changer donc l'extension ".ZIP" en ".XLSX".
Encore un coup Windows se plaint, vous devriez savoir quoi faire, sinon, je ne peux plus rien pour vous.

Dégustez

Je suppose que vous savez ouvrir un fichier Excel. Non ? Vous venez de perdre 10 minutes !

Ôter la protection

Si vous avez choisi de n'enlever que le mot de passe et non pas la balise, il faut toujours ôter la protection mais aucun mot de passe n'est demandé.

Et pour le classeur

La démarche est la même. Le fichier à modifier se nomme workbook.xml et se trouve à la racine de l'archive.

Remerciements

Remercions Microsoft d'avoir prévu le coup de la perte de mot de passe en mettant en place une protection qui ne protège rien du tout 🙂

Restez informé

Inscrivez-vous à la newsletter et recevez l'actualité du blog dans votre boite aux lettres.