Icône de la ressource

Sauvegarde codes et fonctions 2024-07-26

Marc Vanlindt

XLDnaute Nouveau
Marc Vanlindt a soumis une nouvelle ressource:

Sauvegarde codes et fonctions - Sauvegarde des codes VBA et des cellules avec fonction et restauration de formule effacée.

Ce petit utilitaire (fait pas moi-même avec l'aide de ChatGPT) va sauvegarder le contenu de chaque cellule contenant une formule ainsi que tous les codes VBA d'un classeur dans un fichier .txt (WorkbookExport.txt) qui se trouve dans le répertoire du classeur. Macro : "ExportWorkbookContent"

Au cas où une formule était effacée par inadvertance, une autre macro ("RestoreFormula") permet de récupérer la formule effacée (pour autant qu'on aie d'abord exécuter "ExportWorkbookContent" et qui se...

En savoir plus sur cette ressource...
 

ChTi160

XLDnaute Barbatruc
Bonjour Marc
j'espère que tu vas bien ?
Petite question :
il faut donc pour récupérer les Formules et les macros d'un Fichier "XXXXX" , copier les codes de ton Fichier dans celui ci ?
Bonne Journée
Jean marie
 

Marc Vanlindt

XLDnaute Nouveau
Bonjour ChTi.
Il faut obligatoirement copier les 2 codes - ExportWorkbookContent() et RestoreFormula() - dans un module de ton application Excel.
Ensuite, exécuter ExportWorkbookContent() qui créera un fichier WorkbookExport.txt dans le répertoire de ton application.
Pour restaurer un formule, il faut se placer dans la cellule où elle se trouvait et exécuter RestoreFormula()
A ta disposition et bonne journée.
Marc
 

Marc Vanlindt

XLDnaute Nouveau
Voici une nouvelle version améliorée.
Ce qui a été modifié :
1. Le précédent code prenait beaucoup de temps. C'est pourquoi j'affichais la progression dans une Userform. La recherche des cellule ayant une formule s'effectuait sur l'ensemble des cellule du fichier Excel.
Ce n'est pas vraiment nécessaire. J'avais un application contenant une douzaine de feuilles. Au total, cela faisant plus de 77 millions de cellules à passer en revue et cela prenait environ 30 minutes !
Le nouveau code limite la sélection des cellules à inspecter pour les colonnes A à AZ et limite les lignes à 100.
Le programme inspecte donc le "Range("A1:AZ100"). Au pire, il suffit de changer ce paramètre dans la macro pour l'adapter selon les besoins.
De ce fait, l'exportation se fait en 1 à 2 secondes !
2. L'exportation se fait maintenant avec l'encodage UTF-8 au lieu de ANSI, ce qui permet d'inclure des caractères non supportés par l'encodage ANSI.
 

Pièces jointes

  • Export Codes.xlsm
    33.2 KB · Affichages: 3

Discussions similaires

Statistiques des forums

Discussions
314 705
Messages
2 112 083
Membres
111 411
dernier inscrit
NIMY