Nettoyer et réduire la taille des classeurs Excel

Bonjour,

L'utilitaire proposé précédemment étant obsolète, il a été supprimé. Il est remplacé par l'application "Nettoyage des classeurs Excel" disponible dans la rubrique téléchargements (Utilitaires).

Cette nouvelle application, plus complète, permet un nettoyage en profondeur des classeurs (contenu + déchets de compilation).

La version téléchargeable est la version n°007. Rdv ici (Lien) pour plus de détails et télécharger le pack.

Vous pouvez également consulter la dernière mise à jour en cliquant ici.

Les version antérieures sont obsolètes.

Eric

Bonjour,

pour moi pas de soucis de fonctionnement.

Avant 2.210 Mo, après 2.105 Mo, suite au fonctionnement normal de l'application, après sauvegarde 2.209 Mo.
L'essai a été fait avec ArkaLouReeD Light !

Si je comprend bien lors des différents essais il suffirait d'initialiser l'application avec ces deux lignes de code :

' Classeur ouvert & actif
ActiveWorkbook.Saved = False ' Force à modifier
' Ajout d'un module standard qui provoque une réinitialisation des projets en mémoire
Workbooks(ThisWorkbook.Name).VBProject.VBComponents.Add (1)

comme cela tout est remis "à zéro" avant l'exécution des codes lors des test ?

@ bientôt

LouReeD

Bonjour LouReed,

Je ne comprends pas trop ta question.

Si tu veux dire qu'en plaçant ces lignes de code en début d'exécution d'une appli (dans Workbook_Open) par exemple, cela va réduire sa taille.

Pas du tout, tu vas simplement ajouter un module supplémentaire à chaque ouverture du classeur (et donc accroître sa taille).

Pour que cela fonctionne, il faut impérativement stopper les macros et provoquer une réinitialisation du projet.

Hormis mon outil, il y a une méthode manuelle qui marche aussi et qui permet de mieux comprendre le principe (demande plus de manips).

  1. Copier le classeur dans un dossier où les macros sont désactivées (dossier Temp par exemple ou un emplacement non approuvé)
  2. Ouvrir le classeur depuis ce dossier
  3. A la question "Activer les Macros" ne pas répondre (impératif), on reste en mode création
  4. Ouvrir l'éditeur VBA
  5. Ajouter une nouvelle procédure (n'importe où) sans rien saisir dedans (exemple Sub x() end Sub)
  6. Supprimer la procédure créée
  7. Refermer en enregistrant le classeur

Le résultat est le même qu'avec l'outil de nettoyage.

J'espère avoir répondu à ta question.

A+

Eric

Bonjour à tous,

Étrangement, cela fonctionne.

Le processus semble forcer la compilation.

Pas besoin de créer une procédure pour la supprimer ensuite.

Il suffit d'ajouter un caractère (exemple : une espace) ou d'en supprimer un.

En revanche, s'il y a des formats oubliés "sous "ou "à droite" des données, cela n'est pas nettoyé. ( Ctrl+Fin ) sur chaque feuille pour vérifier.

Bizz

Bonjour Bizarre,

En effet ça fonctionne, c'est encore + simple. Merci pour l'info.

Par contre pour :

En revanche, s'il y a des formats oubliés "sous "ou "à droite" des données, cela n'est pas nettoyé. ( Ctrl+Fin ) sur chaque feuille pour vérifier.

L' outil n'est pas prévu pour nettoyer les feuilles de calcul. J'ai bien pensé à intégrer une procédure pour nettoyer le contenu des feuilles (en cours d'étude) mais pour l'instant je bloque sur les objets pouvant être présents sur une feuille (boutons, graphiques, etc.). Les codes proposés sur le site ne tiennent pas compte de cette possibilité, les objets sont soit supprimés soit réduits. J'y travaille.

Bonne journée

Bonjour à tous.

Il y a "Mamouth" : https://forum.excel-pratique.com/applications/degraissez-le-mammouth-4627#p121537

Il commence à dater, mais il fait bien le travail de nettoyage.

Il y aurait peut-être à être actualisé, c'est à voir ...

Bizz

Re

Oui je l'ai testé. Il ne nettoie que le contenu des feuilles, pas les déchets de compilation.

Il date en effet (excel 97-2003), et pour les objets, il requière l'intervention de l'utilisateur. Seul bémol, certains objets ne sont pas détectés et sont supprimés (graphiques, zones de texte, formes (flèches, émoticônes etc.)).

Il aurait, en effet besoin d'être actualisé.

Bonne soirée

Contenu supprimé (plus d'utilité)

Bonjour

Je n'ai pas de disque E résultat une erreur au demarrage.

A+ François

Bonjour François

Cela ne génère pas d'erreur (du moins pas lors des essais). Si le disque ou le chemin n'existe pas c'est le dossier du classeur de nettoyage qui est proposé par défaut.

Il faut changer le chemin par défaut pour le choix des fichiers (bouton choisir).

@+ Eric

Bonjour,

pour ma part : pas d'erreur sur mon fichier ArkaLouReeD Light !
Sous mon ordi 2232 avant nettoyage, 2174 à l'issu.

Un petit gain qui doit être du à pas grand chose car le rapport n'indiquait rien de particulier si ce n'est la feuille d'accueil dont j'ai figé les volets à la taille de mon écran alors que le programme à réduit à la taille de la plage utilisée, c'est peut-être cela l'économie.

@ bientôt

LouReeD

Bonjour LouReeD

Merci pour le retour.

J'ai téléchargé ton appli pour voir ce que fait le nettoyage.

Nettoyage effectué :

Pour la feuille Accueil : Suppression des lignes 20 à 36 et des colonnes N à V

Suppression des déchets de compilation.

D'où l'économie réalisée.

Du point de vue affichage, le résultat n'est pas très beau (sur mon écran). Les lignes 20 à 36 étant supprimées, une partie de l'écran est gris clair. Idem pour les colonnes N à V. Suggestion pour éviter cela, placer un caractère dans la cellule V36 (ou dans la dernière cellule visible en bas à droite).

Bonne journée

Eric

Bonjour,

Merci ! Ça fait toujours un téléchargement en plus !

@ bientôt

LouReeD

Contenu supprimé (plus d'utilité)

Contenu supprimé (plus d'utilité)

Contenu supprimé (plus d'utilité)

Salut @Eric,

Chez moi le code plante à pas mal d'endroits car j'ai mon dossier de travail lié à OneDrive… Et donc plusieurs fonctions VBA sont "perdues" (ChDir, FileLen, etc.).

Je ne sais pas si ça a déjà été évoqué, où si tu as une solution facile ?

@+

Bonjour Saboh12617

Cet utilitaire n'a pas été prévu pour ce cas de figure. Le fichier à analyser est supposé être en local.

Solutions :

- Faire une copie du classeur dans un dossier non concerné par OneDrive (ou un support externe), le traiter et le replacer dans OneDrive

- Le code Vba fourni est libre d'accès, tu peux le modifier pour l'adapter à ta configuration.

Bonne journée

Eric

Contenu supprimé (plus d'utilité)

Contenu supprimé (plus d'utilité)

Rechercher des sujets similaires à "nettoyer reduire taille classeurs"