Connaitre la taille de certains éléments d’un fichier (styles, macros, feuilles, etc.)

Je viens de raccrocher avec une client qui a vu passer son fichier de 173 ko à 1 200 ko sans comprendre pourquoi...

Kesako ?

Au delà d'une exploration directe des raisons (voir plus bas) dans le fichier, une autre astuce consiste à faire ceci :

1/ Dans l'explorateur de fichier, copier coller le fichier (on ne sait jamais)

2/ Changer l'extension du fichier pour un .zip (au lieu d'un .xlsm par exemple)

3/ Explorer le contenu. On va voir assez vite où se trouve le problème. Par exemple, dans le répertoire xl/worksheets, on a toutes les feuilles.

Ça va donner quelque chose comme ceci. J'ai ensuite trié les feuilles en fonction de leurs tailles.

On peut ensuite faire un copier coller du fichier .xml qui nous intéresse et l'ouvrir dans Notepad++.

On arrive à ceci, qui indique grâce au codename que sheet11.xml correspond à la feuille nommée "Feuil20".

Dans le cas de ma cliente, il s'agissait de plus de 30000 styles qui avaient été ajoutés dans le fichier - comment, je ne sais pas encore !

Cette astuce qui consiste à "dézipper" un fichier Excel peut être utile dans d'autres cas* :

  • Changer l'onglet du ruban pour des macros complémentaires
  • Explorer les noms natifs des objets Excel, par exemple lors de réparation de fichiers
  • Récupérer des informations dans un fichier corrompu
  • Modifications avancées - je n'ai jamais eu à le faire et probablement très dangereux, mais en théorie ca devrait être possible
  • Suppression de certains éléments - même chose, en théorie ca devrait être possible

Si vous voyez d'autres utilisations, n'hésitez-pas !

Pour une petite liste non-exhaustive de points à vérifier sur un fichier anormalement gros, vous pouvez :

  • vérifier les mises en formes conditionnelles
  • vérifier la dernière cellule vide chaque feuille (CTRL+Page Suivante, puis CTRL+Fin)
  • vérifier les styles utilisés
  • vérifier si des TCDs conservent les données - c'est le mode de fonctionnement par défaut. Pour cela, clic droit sur le TCD, options, onglet données. vérifier la première option "Enregistrer les données avec le fichier".

A très bientôt

PS : merci aux contributeurs sur lInkedin pour les discussions intéressantes à ce sujet :

* liste partiellement complétée avec ChatGPT après avoir enlevé les hallucinations. Vous pouvez vous amuser à lui demander toute une liste et voir différentes hallucinations apparaître ! ???

Pour marque-pages : Permaliens.

8 réponses à Connaitre la taille de certains éléments d’un fichier (styles, macros, feuilles, etc.)

  1. Sébastien dit :

    Bonjour Gaëtan, et à tous les fidèles.
    J’ai déjà rencontré le même problème, la première solution en cherchant sur toutes les lignes et colonnes, mais aussi en contrôlant les mises en formes conditionnelles, car si elle elle s’appliquent sur toutes les lignes et plusieurs fois, alors le fichier devient inexploitable, trop lourd.
    Cordia5.

  2. Gaetan Mourmant dit :

    Bonjour Sébastien,
    Oui, les MFC sont particulièrement dangereuses dans les tableaux structurées, car elles ont tendance à se “casser” et donc à se multiplier… Il y a eu des améliorations dans les dernières versions d’excel, mais je n’ai pas testé en profondeur.

  3. Hello le monde et accessoirement Gaëtan ? ?,
    Ce petit post me donne l’occasion de présenter mes meilleurs vœux pour 2024
    Le truc du « ZIP » existe depuis Office 2007 avec la réécriture des programmes Office® en XML.
    J’en parlais dans mes formations de « migration 2003 ?2007 »
    Cela permettait de supprimer, par exemple, une photo corrompue dans un fichier Word®
    Voili, voilà et hop !!
    Daniel Bretelles

  4. Re-bonjour tout le monde,
    Pour corriger « automatiquement » les problèmes de MFC, le complément (Add-on) Excel com, Inquire donnait de bons résultats
    Je ne l’ai plus utilisé depuis minimum 5 ans, mais…
    Cordialement,
    Daniel

  5. Gaetan Mourmant dit :

    Hello Daniel et meilleur voeux à toi aussi.
    Je viens d’utiliser ce truc pour enlever les formules “collantes” d’une colonne d’une table structurée. C’est particulièrement utile si il y a beaucoup de données qui ont été saisies avec des formules.
    C’est pas neuf, mais je n’avais jamais eu à l’utiliser
    https://techcommunity.microsoft.com/t5/excel/how-to-remove-legacy-formula-in-excel-table-that-are-pasted/m-p/53838

  6. Gaetan Mourmant dit :

    La dernière fois que j’ai regardé, Inquire était toujours disponible, mais seulement avec certaines versions d’office.
    Voir ici :
    “Important : Cette fonctionnalité n’est pas disponible dans Office sur un PC Windows RT. Inquire est disponible uniquement dans les éditions Office Professionnel Plus et Applications Microsoft 365 pour les entreprises. Vous voulez identifier la version d’Office que vous utilisez ?”
    https://support.microsoft.com/fr-fr/office/analyser-un-classeur-5991e8fa-f1c1-401a-ae3f-469384ae3e3b

  7. Céline dit :

    Hello tout le monde & EXCELlente année 2024 !

    C’est génial ça !!!
    Toutes les fois que c’est une image qui m’a mis le bazar dans mes fichiers !
    Je vais essayer
    Comme d’hab c’est intéressant, merci Gaëtan 🙂

  8. Gaetan Mourmant dit :

    Merci Céline !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.