2008-10-03

Supprimer la protection du code VBA dans Excel

Tout d'abord le but de ce billet n'est pas de faire de vous un pirate. Par contre lors d'un départ précipité en vacances d'un collègue il peut être nécessaire d'accéder à du code VBA qui est protégé par mot de passe. Voici comment casser cette protection :
  1. Tout d'abord faites une copie de sauvegarde du document original. On ne sait jamais ce qu'il peut arriver.

  2. Ouvrez le fichier XLS avec un éditeur hexadecimal (par exemple Hex Editor)

  3. Faites un recherche sur la chaine 'DPB' et remplacer là par 'DPx'

  4. Sauvegardez le fichier et ré-ouvrez le dans Excel

  5. Excel va donner divers messages d'erreurs que vous pouvez ignorer et finira par ouvrir le fichier correctement

  6. Allez dans l'éditeur de code VBA (Alt+F11) et dans les propriétés du projet VBA allez sur l'onglet 'Protection'

  7. Changez alors le mot de passe par celui de votre choix. Attention il ne faut pas enlever la protection à ce stade mais uniquement positionner un mot de passe connu.

  8. Sauvegardez et fermez le fichier Excel.

  9. Vous pouvez maintenant le réouvrir et aller désactiver la protection en utilisant le mot de passe que vous avez saisi précédemment

Source en anglais