J'ai un classeur qui s'est soudainement corrompu. J'essaie de récupérer le code VBA à partir de celui-ci. Je peux ouvrir le classeur en mode protégé en ouvrant une instance Excel vierge, puis en utilisant Excel pour ouvrir le classeur, mais lorsque je clique sur "Activer la modification" ou que j'essaie d'ouvrir le classeur à partir de Windows, il se bloque.
Je veux juste récupérer la VBA. Mais lorsque le classeur est en mode protégé, je ne peux pas afficher le projet VBA; cela n'apparaît tout simplement pas dans l'explorateur de projets VBE.
Des idées?
microsoft-excel-2010
vba
sceau
la source
la source
Réponses:
La solution de Sigil a fonctionné pour moi. Au lieu des étapes 3 à 5, toutefois, j'ai trouvé plus prudent d'exporter le (s) module (s), puis de les importer dans le classeur souhaité. Cela présente également l’avantage supplémentaire d’avoir la ou les macro (s) toujours disponibles.
Suivez ces étapes:
Cliquez sur le menu Démarrer (Windows 7 et 8), puis tapez "excel / safe" dans la zone de recherche (juste au-dessus de Démarrer: zone: le texte "Rechercher dans les programmes et les fichiers" est grisé).
Ouvrez le classeur endommagé
Ouvrez l'éditeur VBA (Alt + F11)
Cliquez avec le bouton droit sur le module que vous souhaitez récupérer, puis cliquez sur "Exporter le fichier ...". Choisissez un emplacement, tapez un nom et enregistrez votre module. Répétez l'opération pour tous les modules dont vous aurez besoin.
Fermez le classeur endommagé
Créez un nouveau classeur ou ouvrez le classeur dans lequel vous souhaitez utiliser la ou les macro
Ouvrez l'éditeur VBA (Alt + F11)
Cliquez avec le bouton droit sur le projet VBA portant le nom de fichier de votre classeur, puis sélectionnez Importer un fichier ... '. Naviguez jusqu'au module VBA exporté et cliquez sur Ouvrir. Le module fera maintenant partie de votre classeur.
la source
Pour ce faire, j'ai démarré Excel en mode sans échec et copié les objets VBA dans un nouveau livre.
la source