Comment contourner le mot de passe du projet VBA d'Excel

40

J'ai besoin d'aide pour récupérer un mot de passe ou contourner le mot de passe pour un projet réalisé au travail. L'auteur a utilisé MS Excel pour réaliser le projet, qui se trouve sur le serveur du client. Le serveur que nous utilisons n'a pas accès à Notepad ++.

utilisateur365483
la source
Karan merci. Le problème ne venait pas du document Excel, mais je ne suis pas en mesure d’afficher le code qui a été créé par un autre employé. C’est sur le VB Ide que je peux utiliser excel
user365483
Ok, si le classeur Excel lui-même n'est pas protégé par un mot de passe et que seul le projet VBA à l'intérieur l'est, voir ci-dessous.
Karan
Je ne peux pas installer d'éditeur hexadécimal et le fichier est un fichier .xlsm. Karan I, il serait bien s'il y a une alternative
user365483

Réponses:

62

Pour les fichiers .XLS plus anciens:

  1. Ouvrir le fichier dans n'importe quel éditeur hexadécimal

  2. Recherchez le texte " DPB = " (sans guillemets, vous devriez le trouver juste au-dessus de "[Host Extender Info]"

    1

  3. Changez-le en " DPx = ", sauvegardez et fermez le fichier

    2

  4. Ouvrez le fichier dans Excel et appuyez sur Oui si l'avertissement suivant apparaît:

    3

  5. Ouvrez l’éditeur VBA ( Alt+ F11) et appuyez sur OK chaque fois que l’avertissement suivant apparaît:

    4

  6. Cliquez avec le bouton droit de la souris sur le nom du projet VBA, sélectionnez Propriétés , accédez à l' onglet Protection , supprimez les mots de passe existants et décochez la case Verrouiller le projet pour l'affichage :

    5

  7. Revérifiez la case à cocher Verrouiller le projet pour l'affichage et ajoutez votre propre mot de passe mémorable.

  8. OK votre sortie et maintenant le code VBA est accessible!

Pour les fichiers .XLSM plus récents:

  1. Changer l'extension du fichier en .ZIP

  2. Ouvrez le fichier dans n’importe quel archiveur tel que WinRAR ou 7-Zip et vous verrez la structure de répertoires suivante:

    6

  3. Allez dans le répertoire xl et extrayez vbaProject.bin :

    7

  4. Effectuez les étapes ci - dessus # 1-3 ( à partir du .xls Pour les anciennes section ) avec vbaProject.bin

  5. Remplacez l'ancien vbaProject.bin dans le fichier ZIP par la nouvelle version modifiée hexadécimale

  6. Modifiez l'extension du fichier en .XLSM.

  7. Effectuez les étapes 4 à 7 ci-dessus

Karan
la source
Est-ce que cela fonctionne pour MS Office 2013 avec les fichiers plus anciens? J'ai l'impression que Microsoft a corrigé cela.
Menelaos Bakopoulos le
2
Lorsque j'ai essayé cette méthode dans Office 2010 et 2013, cela ne fonctionnait pas directement. Après avoir suivi toutes les étapes, je n’ai pas été en mesure d’afficher les macros, puis j’ai essayé d’exporter la macro au format .bas. Je pouvais extraire la macro et la visualiser.
Abbas
Cela a été testé avec Office 2010 et c'est de là que proviennent les captures d'écran. De plus, pour ceux qui ne peuvent pas installer un éditeur hexadécimal, il en existe de nombreux portables.
Karan
1
Fonctionne également pour les fichiers .xlam. +1
João Mendes
J'ai suivi toutes les étapes, mais après avoir appuyé sur OK sur l'avertissement, une nouvelle invite s'affiche dans laquelle mes options sont "ouvrir et réparer" ou "annuler". Si je clique sur annuler, il se ferme; si je frappe ouvert et le répare, supprime toutes les macros. J'utilise Excel 2011 pour Mac. Quelqu'un at-il rencontré ce problème et existe-t-il une solution de contournement?
user658182