Suppression du mot de passe d’un projet VBA

Comment puis-je supprimer par programme un mot de passe (connu) d’un projet Excel VBA?

Pour être clair: je veux supprimer le mot de passe du projet VBA, pas le classeur ni les feuilles de calcul.

Cette méthode simple utilise SendKeys pour déprotéger le projet VBA. Cela vous amènerait dans le projet, donc vous devriez continuer à utiliser SendKeys pour trouver un moyen de supprimer la protection par mot de passe: http://www.pcreview.co.uk/forums/thread-989191.php

Et voici une méthode qui utilise une méthode plus avancée et un peu plus fiable pour déprotéger. Encore une fois, cela ne fera que débloquer le projet VB pour vous. http://www.ozgrid.com/forum/showthread.php?t=13006&page=2

Je n’ai essayé aucune de ces méthodes, mais cela peut vous faire gagner du temps si c’est ce que vous devez faire …

Une autre façon de supprimer le mot de passe du projet VBA est la suivante:

  • Ouvrez le fichier xls avec un éditeur hexadécimal. (c.-à-d. Hex Edit http://www.hexedit.com/ )
  • Recherche de DPB
  • Remplacez DPB par DPx
  • Enregistrer le fichier
  • Ouvrez le fichier dans Excel.
  • Cliquez sur “Oui” si vous obtenez une boîte de message.
  • Définissez le nouveau mot de passe à partir des propriétés du projet VBA.
  • Fermez et rouvrez le fichier, puis tapez votre nouveau mot de passe à déprotéger.

MISE À JOUR: pour Excel 2010 (Works pour MS Office Pro Plus 2010 [14.0.6023.1000 64 bits]),

  • Ouvrez le fichier XLSX avec 7zip

Si le classeur est protégé:

  • Parcourir le dossier xl
  • Si le classeur est protégé, cliquez avec le bouton droit sur workbook.xml et sélectionnez Modifier.
  • Rechercher la partie ( XXXX est votre mot de passe crypté)
  • Supprimer la partie XXXX . (c.-à-d. )
  • Enregistrez le fichier.
  • Lorsque 7zip vous demande de mettre à jour l’archive, dites oui .
  • Fermez 7zip et rouvrez votre XLSX.
  • Cliquez sur Protéger le classeur dans l’onglet Révision .
  • Facultatif: Enregistrez votre fichier.

Si les feuilles de calcul sont protégées:

  • Accédez à xl/worksheets/ folder.
  • Cliquez avec le bouton droit sur Sheet1.xml , sheet2.xml , etc. et sélectionnez Modifier .
  • Rechercher la partie
  • Supprimez le mot de passe crypté (par exemple, )
  • Enregistrez le fichier.
  • Lorsque 7zip vous demande de mettre à jour l’archive, dites oui .
  • Fermez 7zip et rouvrez votre XLSX.
  • Cliquez sur l’onglet Ôter la protection de la feuille lors de la révision .
  • Facultatif: Enregistrez votre fichier.

J’ai trouvé un autre moyen de résoudre celui-ci pour éviter le mot de passe du projet VBA, sans perdre le mot de passe Excel.

utiliser Hex-editor XVI32 pour le processus

si le type de fichier est XLSM:

  1. Ouvrez le fichier XLSM avec 7-Zip (clic droit -> 7-Zip -> Ouvrir l’archive).
  2. Copiez le fichier xl / vbaProject.bin hors du fichier (vous pouvez le faire glisser depuis 7-Zip), ne fermez pas 7-Zip
  3. Ouvrez le fichier vbaProject.bin avec HexEdit
  4. Recherchez “DPB =” et remplacez-le par “DPx =”
  5. Enregistrez le fichier
  6. Recopiez ce fichier dans 7-Zip (encore une fois, glissez et déposez les œuvres)
  7. Ouvrez le fichier XLSX dans Excel, si vous êtes invité à “continuer le chargement du projet”, cliquez sur Oui. Si vous y êtes invité avec des erreurs, cliquez sur OK.
  8. Appuyez sur Alt + F11 pour ouvrir l’éditeur VBA.
  9. Appuyez sur pour afficher l’erreur “Erreur inattendue (40230)”, cliquez simplement sur OK (6 ou 7 fois) jusqu’à ce qu’elle disparaisse.
  10. Ensuite, il s’ouvrira automatiquement

J’ai trouvé ceci ici qui décrit comment définir le mot de passe du projet VBA. Vous devriez pouvoir le modifier pour supprimer le mot de passe du projet VBA.

Celui-ci n’utilise pas SendKeys.

Faites-moi savoir si cela aide! JFV