Devarajan s’est heurté à une situation où un classeur a été corrompu, mais il a voulu récupérer le module de macro associé au classeur. (Les macros représentaient un peu de temps de développement.)

Devarajan s’est demandé comment le module pouvait être récupéré.

La réponse dépend, en grande partie, du niveau de corruption du classeur et de l’emplacement de la corruption dans le classeur. Beaucoup a été écrit sur la façon de récupérer des classeurs corrompus; les ressources suivantes seront intéressantes à cet égard:

http://support.microsoft.com/?kbid=820741 http://www.jkp-ads.com/Articles/CorruptFiles.asp

Ces pages font spécifiquement référence à la récupération de données, et non à la récupération des macros dans un module associé à un classeur. Une chose que vous pourriez essayer pour obtenir vos macros est la suivante:

  1. Ouvrez Excel, mais pas le classeur de problème.

  2. Réglez le mode de calcul sur manuel (onglet Formules | Groupe de calcul | Options de calcul | Manuel).

  3. Réglez le paramètre de sécurité sur Élevé (lien: / excelribbon-Displaying_Excels_Developer_Tab [onglet Développeur] | Groupe de codes | Sécurité des macros | Paramètres des macros | Désactiver toutes les macros sans notification).

  4. Ouvrez le classeur gênant. S’il s’ouvre correctement, vous devriez voir un avis indiquant que les macros ont été désactivées. (Si le classeur ne s’ouvre pas, vous pouvez aussi bien fermer Excel; cette série d’étapes ne fonctionnera pas.)

  5. Appuyez sur Alt + F11 pour afficher l’éditeur VBA.

  6. Dans l’Explorateur de projets, recherchez le module que vous souhaitez enregistrer.

  7. Cliquez avec le bouton droit sur le nom du module et choisissez Exporter le fichier.

  8. Fournissez un nom et un emplacement où enregistrer le module.

  9. Fermez l’éditeur VBA et sortez d’Excel.

  10. Avec le module enregistré dans son propre fichier, vous pouvez maintenant l’importer dans un autre classeur, comme vous le souhaitez.

Une autre façon de tenter une récupération consiste à utiliser OpenOffice, une alternative gratuite à Microsoft Office. Le programme de feuille de calcul dans OpenOffice ouvrira les fichiers Excel, et il n’est pas aussi sensible à certains problèmes de corruption.

Si cela ne fonctionne toujours pas, essayez d’utiliser un outil de manipulation de fichiers de bas niveau qui vous permet de lire des fichiers secteur par secteur à partir d’un disque, puis vous permet de voir les informations dans chaque secteur. Avec la plupart des types de fichiers, cela ne sera pas très utile. En fait, cela ne vous aiderait pas à récupérer des données à partir d’un classeur Excel. Cependant, la récupération de macros est une autre histoire. Ils sont stockés dans le classeur en texte ASCII brut, vous devez donc être en mesure de reconnaître le code de macro, puis de le copier à partir de l’outil de disque.

_Note: _

Si vous souhaitez savoir comment utiliser les macros décrites sur cette page (ou sur toute autre page des sites ExcelTips), j’ai préparé une page spéciale qui comprend des informations utiles.

lien: / excelribbon-ExcelTipsMacros [Cliquez ici pour ouvrir cette page spéciale dans un nouvel onglet de navigateur].

ExcelTips est votre source pour une formation Microsoft Excel rentable.

Cette astuce (12712) s’applique à Microsoft Excel 2007, 2010, 2013, 2016, 2019 et Excel dans Office 365. Vous pouvez trouver une version de cette astuce pour l’ancienne interface de menu d’Excel ici:

link: / excel-Recovering_Macros_from_Corrupted_Workbooks [Récupération de macros à partir de classeurs corrompus].