FRFAM.COM >> Famille >> Technologie &Innovation >> Informatique

Comment récupérer un mot de passe Excel VBA

Coincé avec un document VBA protégé par un mot de passe ? Voici comment crocheter la serrure.

Il n'est pas rare de s'approprier le document Excel de quelqu'un d'autre, en particulier sur le lieu de travail. Habituellement, la transition se déroule sans heurts, mais il existe des pièges qui peuvent causer de vrais maux de tête.

Par exemple, six mois plus tard, vous pouvez essayer de modifier l'une des macros VBA qui font partie intégrante de la feuille de calcul, pour constater qu'elle est protégée par un mot de passe. Que se passe-t-il maintenant ? Eh bien, avec un peu de bricolage dans les coulisses, il n'est pas trop difficile de supprimer complètement cette protection.

Voici comment éliminer la protection par mot de passe d'un document VBA dans Excel. Cela pourrait vous faire réfléchir à deux fois sur la sécurité réelle de vos feuilles de calcul.

Comment configurer un mot de passe

Si vous avez besoin de déchiffrer un mot de passe, vous savez peut-être déjà comment en créer un. Cependant, il est toujours utile d'expliquer comment fonctionne ce type de protection.

Dirigez-vous vers le développeur dans Excel et cliquez sur Macros .

Comment récupérer un mot de passe Excel VBA

Si vous ne voyez pas l'onglet Développeur, accédez à FichierOptions puis Personnaliser le ruban . Déplacez maintenant le développeur groupe de commandes du volet de gauche vers la droite.

Comment récupérer un mot de passe Excel VBA

Une fois que vous avez sélectionné Macros dans le Développeur onglet, entrez un nom pour votre macro (c'est juste un exemple, donc les détails n'ont pas d'importance) puis cliquez sur Créer .

Comment récupérer un mot de passe Excel VBA

Copiez et collez le code suivant dans Visual Basic Editor. Il s'agit d'une simple macro qui entrera le texte cité dans la cellule A1. Cela ne sert à rien, mais nous avons besoin de quelque chose à protéger avec un mot de passe.

Plage("A1").Value ="Mot de passe protégé" 

Vous devriez vous retrouver avec quelque chose qui ressemble à ceci.

Comment récupérer un mot de passe Excel VBA

Dans Visual Basic Editor, accédez à Outils> Propriétés du projet VBA .

Comment récupérer un mot de passe Excel VBA

Dirigez-vous vers la Protection et vous pourrez définir un mot de passe. Vous devrez également cocher la case intitulée Verrouiller le projet pour l'affichage .

Comment récupérer un mot de passe Excel VBA

Cliquez sur OK , assurez-vous d'enregistrer votre document Excel en tant que fichier XLSM, et nous pourrons tester si notre mot de passe fonctionne. Fermez votre document et rouvrez-le, puis dirigez-vous vers le développeur et cliquez sur Visual Basic .

Comment récupérer un mot de passe Excel VBA

Lorsque vous essayez d'accéder au VBAProject pertinent, vous verrez une invite de mot de passe. Nous pouvons maintenant comprendre comment supprimer ce type de protection.

Comment supprimer un mot de passe

Passons maintenant à la partie difficile, même si c'est vraiment assez simple une fois que vous savez ce que vous faites. Tout d'abord, nous allons devoir télécharger un éditeur hexadécimal. Si vous n'en avez pas déjà, HxD est une bonne option gratuite, mais il existe de nombreuses alternatives disponibles.

Notre processus diffère légèrement selon que nous déchiffrons un mot de passe dans un ancien fichier XLS ou dans un fichier XLSM plus récent. Si vous travaillez avec le premier, n'hésitez pas à ignorer la section suivante.

Préparer notre fichier XLSM

Nous devons effectuer un petit travail préparatoire supplémentaire pour supprimer un mot de passe d'un fichier XLSM. Trouvez-le sur votre disque dur, puis renommez-le en ajoutant .zip jusqu'au bout.

Ensuite, ouvrez-le avec un logiciel de compression d'archives comme WinRAR ou 7-Zip. Vous devriez trouver un dossier intitulé xl .

Comment récupérer un mot de passe Excel VBA

Dans ce dossier, vous recherchez un fichier portant le nom vbaProject.bin .

Comment récupérer un mot de passe Excel VBA

Extrayez ce fichier et ouvrez-le avec votre éditeur hexadécimal.

Désactivation du mot de passe

C'est là que la possibilité de configurer un mot de passe est utile. Créez un document Excel factice, ajoutez-y une macro et définissez un mot de passe comme décrit au début de cet article. Ensuite, nous allons prendre le code hexadécimal qui stipule le mot de passe et nous l'insérerons dans le fichier auquel nous voulons accéder.

Une fois que vous avez configuré ce fichier, enregistrez-le et effectuez le même processus que nous avons fait il y a une minute afin que vous vous retrouviez avec un autre fichier vbaProject.bin. Assurez-vous de vous souvenir du mot de passe !

Vous devriez maintenant avoir vos deux fichiers vbaProject.bin ouverts dans votre éditeur hexadécimal. Ne les confondez pas ou nous allons avoir de gros problèmes.

Utilisez Ctrl + F dans le fichier que vous avez créé pour trouver la chaîne suivante :

CMG= 

C'est le début du code qui stipule le mot de passe actuel. Nous devons copier et coller trois valeurs :

CMG=
DPB=
CG=

Ci-dessous, vous pouvez voir comment je l'ai fait.

Comment récupérer un mot de passe Excel VBA

Transférez ce code vers votre autre fichier vbaProject.bin et placez-le dans la position correspondante, en veillant à ne rien supprimer d'autre. Enregistrez votre fichier hexadécimal modifié.

Maintenant, supprimez le fichier vbaProject.bin d'origine du document dont nous essayons de supprimer les protections. Remplacez-le par votre fichier vbaProject.bin modifié, puis modifiez son nom de fichier de .zip à .xlms ou .xls.

Ouvrez le fichier dans Excel. Dirigez-vous vers l'onglet Développeur et cliquez sur Visual Basic, et essayez d'accéder au menu Projet. Vous devriez voir l'invite de mot de passe, et avec un peu de chance, le mot de passe correct devrait être celui que nous avons défini dans notre document factice.

Comment récupérer un mot de passe Excel VBA

Nous sommes de retour dans le document ! Maintenant, vous pouvez vous entendre avec ce que vous étiez censé faire.

 Remarques pour vaincre le système

Cette astuce peut être très pratique lorsque vous êtes dans une impasse et que vous avez désespérément besoin d'accéder à une macro VBA protégée par un mot de passe. Cependant, cela devrait également illustrer une faille de sécurité majeure présente dans Excel.

Si vous utilisez ce type de protection par mot de passe pour défendre votre code VBA, sachez qu'il existe une solution de contournement. C'est au mieux un moyen de dissuasion :toute personne capable d'effectuer une recherche sur Google saura exactement comment briser vos défenses.

Cela montre à quel point il est important pour nous de remettre constamment en question nos pratiques de sécurité. L'application d'une protection par mot de passe peut sembler offrir une tranquillité d'esprit précieuse, mais dans une situation comme celle-ci, ce n'est pas si efficace.

Vous avez des questions sur la suppression de la protection par mot de passe d'un document Excel ? Ou avez-vous un conseil de sécurité que vous souhaitez partager avec d'autres ? Pourquoi ne pas rejoindre la conversation dans la section des commentaires ci-dessous ?

Crédit image :OrelPhoto via Shutterstock.com


[]