Comment 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 du classeur ou des feuilles de calcul.
Une autre façon de supprimer le mot de passe d'un projet VBA ;
MISE À JOUR: Pour Excel 2010 (fonctionne pour MS Office Pro Plus 2010 [14.0.6023.1000 64bit]),
Si le classeur est protégé:
xl
.workbook.xml
et sélectionnez Editer.<workbookProtection workbookPassword="XXXX" ; lockStructure="1"/>
(XXXX
est votre mot de passe crypté)XXXX
. (c'est-à-dire <workbookProtection workbookPassword="" ; lockStructure="1"/>
)Si les feuilles de calcul sont protégées:
xl/worksheets/
.Sheet1.xml
, sheet2.xml
, etc. et sélectionnez Editer.<sheetProtection password="XXXX" ; sheet="1" ; objects="1" ; scenarios="1" ; />
.<sheetProtection password="" ; sheet="1" ; objects="1" ; scenarios="1" ; />
)[1] : http://www.hexedit.com/
Il existe une méthode simple utilisant SendKeys pour déprotéger le projet VBA. Cela vous permet d'accéder au projet, et vous devez donc 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 de déprotection plus avancée et un peu plus fiable. Encore une fois, elle ne déverrouillera que le projet VB pour vous. http://www.ozgrid.com/forum/showthread.php?t=13006&page=2
Je n'ai essayé aucune des deux méthodes, mais cela peut vous faire gagner du temps si c'est ce que vous devez faire...
J'ai trouvé ceci [ici][1] qui décrit comment définir le mot de passe du projet VBA. Vous devriez être en mesure de le modifier pour désactiver le mot de passe du projet VBA.
Celui-ci n'utilise pas SendKeys.
Faites-moi savoir si cela peut vous aider ! JFV
[1] : http://www.standards.com/Office/SetVBAProjectPassword.html