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

Comment supprimer la protection par mot de passe d'un projet VBA dans Excel : Guide expert

Vous avez oublié le mot de passe d'un projet VBA dans Excel ? Découvrez une méthode technique fiable pour le supprimer et retrouver l'accès à vos macros.

Dans un contexte professionnel, il est courant de reprendre un fichier Excel contenant des macros VBA essentielles. Malheureusement, une protection par mot de passe peut bloquer les modifications. Avec quelques manipulations avancées, il est possible d'éliminer cette barrière en toute légitimité, sur vos propres fichiers ou avec autorisation.

Ce tutoriel, basé sur des pratiques reconnues en informatique bureautique, vous guide étape par étape. Notez toutefois que cette astuce révèle une limite de sécurité d'Excel : privilégiez des protections plus robustes pour vos données sensibles.

Comment configurer un mot de passe VBA

Avant de supprimer un mot de passe, comprenez son fonctionnement. Ouvrez Excel, activez l'onglet Développeur si nécessaire (via Fichier > Options > Personnaliser le ruban), puis cliquez sur Macros.

Comment supprimer la protection par mot de passe d un projet VBA dans Excel : Guide expert

Créez une macro test (nom sans importance), cliquez sur Créer.

Comment supprimer la protection par mot de passe d un projet VBA dans Excel : Guide expert

Dans l'éditeur Visual Basic, collez ce code simple :

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

Votre éditeur ressemble maintenant à ceci :

Comment supprimer la protection par mot de passe d un projet VBA dans Excel : Guide expert

Allez dans Outils > Propriétés du projet VBA.

Comment supprimer la protection par mot de passe d un projet VBA dans Excel : Guide expert

À l'onglet Protection, cochez Verrouiller le projet pour l'affichage et définissez un mot de passe. Cliquez sur OK.

Comment supprimer la protection par mot de passe d un projet VBA dans Excel : Guide expert

Enregistrez en format XLSM. Fermez et rouvrez le fichier, puis testez via Développeur > Visual Basic : le mot de passe s'affiche.

Comment supprimer la protection par mot de passe d un projet VBA dans Excel : Guide expert

Comment supprimer un mot de passe VBA

Utilisez un éditeur hexadécimal gratuit comme HxD. Le processus varie légèrement entre fichiers XLS (anciens) et XLSM (modernes).

Préparation pour fichier XLSM

Renommez le fichier XLSM en ajoutant .zip. Ouvrez avec 7-Zip ou WinRAR, extrayez le dossier xl/vbaProject.bin.

Comment supprimer la protection par mot de passe d un projet VBA dans Excel : Guide expertComment supprimer la protection par mot de passe d un projet VBA dans Excel : Guide expert

Ouvrez vbaProject.bin dans HxD.

Désactivation du mot de passe

Créez un fichier Excel test avec une macro protégée par un mot de passe connu (ex. : "test123"). Appliquez le même processus d'extraction pour obtenir son vbaProject.bin.

Ouvrez les deux fichiers dans HxD. Dans le fichier test, cherchez CMG= (Ctrl+F).

CMG=
DPB=
CG=

Copiez ces trois séquences hexadécimales (de CMG= à la fin de CG=) et remplacez-les dans le fichier cible, sans altérer le reste. Enregistrez.

Comment supprimer la protection par mot de passe d un projet VBA dans Excel : Guide expert

Remplacez l'ancien vbaProject.bin dans l'archive ZIP, renommez en .XLSM. Ouvrez dans Excel : entrez le mot de passe connu pour accéder au projet.

Comment supprimer la protection par mot de passe d un projet VBA dans Excel : Guide expert

Vous voilà de retour dans vos macros !

Remarques sur la sécurité

Cette technique est utile pour un accès légitime à vos propres projets VBA oubliés. Elle met toutefois en lumière une vulnérabilité d'Excel : la protection par mot de passe VBA n'est pas infaillible et se contourne facilement via recherche en ligne.

Pour une vraie sécurité, optez pour des outils plus avancés (compilation, obfuscation ou logiciels tiers). Questionnez toujours vos pratiques de protection.

Questions sur la suppression de mot de passe VBA Excel ? Partagez vos conseils en commentaires !

Crédit image : OrelPhoto via Shutterstock.com

[]