Informations sur l'ouverture d'un fichier Excel

Chalafraiz

XLDnaute Nouveau
Bonjour,

Quelles sont les étapes d'ouverture d'un fichier Excel, et dans quel ordre sont-elles effectuées ?


Je m'explique plus en détails : on m'a demandé d'optimiser un tableur Excel (qui m'est totalement inconnu) qui s'ouvre très lentement. L'ouverture va rapidement jusqu'à 93%, puis passe 3 minutes à cette étape (d'où ma question sur les étapes d'ouverture de fichiers Excel).
Pour des raisons de confidentialité je ne peux vous le fournir, mais il s'agit d'un document de 3,39 Mo contenant 7 feuilles. Pour info, j'ai l'habitude de travailler sur un fichier de 4,99Mo avec pas mal de feuilles, qui s'ouvre en 3/4s, donc la taille ne joue pas forcément... Bref, maintenant je vous explique ce que j'ai fait pour tenter de résoudre le problème :

- Supprimer toutes les lignes et colonnes inutiles et sauvegarder => Rien

- J'ai donc extrait une à une toutes les feuilles du document et j'ai réussi à trouver celle qui pose problème, la plus lourde (2,2 Mo) qui contient un tableau de 1351 lignes x 285 colonnes (aucune possibilité de le tronquer).
J'ai vérifié, pas de formules matricielles, rien de plus que des sommes, et des cellules remplies ou pas (en gros c'est un bilan d'occupation des ressources selon les projets, par mois, pour un an, voir fichier joint pour exemple). Pas de macros lancées au démarrage.
J'ai donc sauvegardé un nouveau classeur (Classeur1) avec juste cette feuille, et j'ai toujours ce temps d'ouverture.

- Ajout de deux macros :
Code:
Private Sub Workbook_Open()
Msgbox "Ouvert!" 'Pour voir quand la macro se lance
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
End Sub
Code:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = True
End Sub
Sauvegarde + fermeture + ouverture => toujours longue. (Pour info la msgbox s'affiche quand le tableur s'ouvre, donc cela ne serait pas un problème de macro (?) )

- Je copie colle toutes les cellules utiles dans Classeur2 (en gardant les formules). Bien entendu la mise en forme change (cellules plus larges, etc.). Je copie les macros, sauv + quit + réouv => Rien

- Je redimensionne les lignes et colonnes en petit format (respect. 15 et 5.29). J'ajoute Sheets("Feuil1").Activate au Worbook_Open, et je remarque que j'ai maintenant 1800 lignes et 337 colonnes. Je supprime donc les inutiles.... Je passe à 1871 et 337... :confused: sauv + quit + réouv quand même et ... => Miracle ! Il est rapide !

- Je copie les macros dans Classeur1, et..... ça ne marche pas :eek:

Bilan : à la nouvelle mise en forme de la feuille + ajout de sheets("Feuil1").Activate (je rappelle qu'il n'y a qu'une feuille), et avec des lignes inutiles en plus (beaucoup quand même), Classeur2 est plus rapide que sans macro (le fichier original) et que Classeur1.

Auriez-vous des explications sur ces phénomènes ? Parce que ok, ça à l'air de fonctionner (enfin, seulement sur Classeur2), mais je trouve cela quand même TRES brouillon.

Merci d'avance pour votre patience devant mon long discours, et pour votre aide !

Cordialement.
 

Pièces jointes

  • Bilan occupation ressources.xlsx
    13.4 KB · Affichages: 51

Chalafraiz

XLDnaute Nouveau
Re : Informations sur l'ouverture d'un fichier Excel

Bonjour à tous,

Après quelques tests ce matin, je me décide (pour voir) à modifier les tailles de lignes du Classeur1 à 15 et les colonnes à 5,29 et.... le fichier s'ouvre rapidement.

Quelqu'un aurait une explication ? Pourquoi le simple redimensionnement des cellules permettraient de passer de 3 minutes à même pas 5 secondes ? Est-ce-que l'uniformité des tailles de cellules peut jouer autant ?

J'en perds mon latin...

EDIT : J'ai modifié une copie du fichier officiel (avec donc les 7 feuilles et sans supprimer les lignes inutiles), et cela fonctionne... C'est donc réellement ça qui causait le problème d'ouverture.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
311 722
Messages
2 081 930
Membres
101 843
dernier inscrit
Thaly