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 ! ???

Mieux gérer les petites flèches de la validation de données – liste

Si vous utilisez les validations de données en liste, vous avez déjà du pester contre la petite flèche qui vient cacher une partie de votre texte (ici en A2).

Une astuce simple pour éliminer ce problème est de décaler le texte de la cellule de droite avec un ou deux retrait (ici en B2).

C'est hyper simple et très rapide à mettre en place !