ouverture fichier excel très très long

Z

zesuila

Guest
Bonjour à tous
Je ne comprends pas !
mon fichier excel ne fait que 1681 ko, il n'y a presque rien dedans
mais quelques macros, quelques boutons de commandes, et quelques données et il met 10 minutes (bon j'exagère un peu, 5 à 6 minutes) à s'ouvrir (sur cet ordinateur ou sur un autre)
A quoi c'est dû ?
Merci pour votre aide
je précise que j'ai un pc assez puissant, que cela fonctionnait bien auparavant et que cela ne me le fait que sur ce fichier
 
T

Temjeh

Guest
Bonjour zesuila

Moi aussi j'ai eu ce prob il y a deux semaines je ne sais pas si il se garde des info cachés à un endroit donné car après plusieurs sem de modification et de changement (macro ...mise en page..UserForm) mon fichier qui daprès moi n'était pas si gros est monté à 10 meg!!!!!!!!!!!!!!!!!!!! et il prenait comme toi 10 min à ouvrir et il plantait 1fois sur 2 à chaque exécution de macro

Tous mes modules étaient presque vide et je n'avait pas d'images qui peuvent être lourdres.

Après plusieurs recherches infructueuses du genre :

1-Désactiver l'affichage écran
Application.ScreenUpdating = False
en début de code, désactivera l'affichage écran pour la durée de la procédure

2-Désactiver le calcul automatique
Application.Calculation = xlManual
en début de code, désactivera de façon permanente le calcul automatique
donc ne pas oublier en fin de procédure de le rétablir par
Application.Calculation = xlAutomatic

3-Enlever les sélections inutiles (la sélection étant une opération trés lente)
plutôt que
Workbooks("monclasseur.xls").Activate
Sheets(1).Select
Range("A1").Select
Selection.Value = 1
il vaut mieux faire
Workbooks("monclasseur.xls").Sheets(1).Range("A1").Value = 1
qui donnera le même résultat sans sélection

4-Ne pas utiliser la méthode évaluate
[A1].Value=1
est entre 60 à 50% moins rapide que
Range("A1").Value=1
sur de nombreuses opérations de cellules, cela peut faire une différence notable.

de vérifier les liens vers d'autre classeurs ou de réduir l'écriture de mes macros et de mes images et de supprimer tout ce qui n'avait pas d'affaire là...j'ai refait le tout en dix minutes:

ouvert un nouveau classeur...recopier mes macros et ma mise en page et là un miracle c'est produit. Mon fichier fonctionnait en TURBO et en plus il faisait que 700K.

A++

Temjeh

Ptêtre aura ton une explication à ce mystère
 
J

jmps

Guest
Bonjour zesuila, Bonjour Temjeh,

Peut-être un début d'explication. Il me semble que quand on modifie un fichier excel (C'est valable aussi pour word je crois), et qu'on l'enregistre, Excel ne se contente pas de réécrire le fichier tel qu'il apparait mais il garde une trace du fichier "avant" + les modifs. Ce qui fait qu'au fil des changements le fichier devient plus lourd et par conséquent plus long à charger. De temps en temps il faut donc faire un "enregistrer sous..." en changeant le nom, quitte à supprimer ensuite l'ancien et renommer le nouveau (Après vérifications bien entendu).

Si vous avez le temps, essayez et dites moi si je suis dans le vrai.

Bon après-midi.

José
 
T

Temjeh

Guest
Bonjour à toi jmps

Justement j'avais aussi essayé cela car le but de mon classeur était justement de faire des territoires avec adresse et de sauvegarder...sous un autre nom
et malheureusement ca n'avait du moins pas régler le prob de vitesse et de rapidité pour ce fichier obèse

On attend mieux

A++

Temjeh
 
G

GClaire

Guest
Salut a toutes et tous

Moi aussi cela m'est arrivé, et mon dernier recours, recréer un nouveau classeur en faisant un copier / coller des feuilles (Pas un déplacement ou recopier vers un autre classeur a l'aide du bouton droit dans l'onglet de la feuille).

Et toute est rentrait dans l'ordre (Je pense qu'il y a mieux et moins lourd comme procédure, mais je n'ai rien trouvé pour le moment sachant que cela n'est pas la première fois que cela arrive).

salut, G'Claire
 
R

Rouch

Guest
Salut,

L'embonpoint d"un fichier Excel peut provenir de plusieurs choses:

* S'assurer que le fichier n'est pas enregistré sous un format type Excel5- 97 - 2000 -2003. Dans ce cas il enregistre plein d'information pour être compatible avec toutes les versions.
( On trouve le paramètre dans la fenetre enregistrer sous : Type de fichier.

* Vous pouvez avoir mis des données dans une cellule très loin dans le fichier. La dernière cellule utilisée est trouvée par l'appui successif des Touches Fin puis Home (Symboliseé par un flèche en haut droit - la touche est situé à coté de la touche fin). La cellule peut être très loin.
Dans ce cas placez vous dans la dernière ligne utilisée. de votre tableau Sélectionnez la ligne en dessous. Appuyer sur la touche Shift puis en maintenant la touche appuyée taper la touche Fin puis le flèche vers le bas.
Ensuite supprimez ces lignes (Edition Supprimer)
Faite pareil avec les colonnes ( Touche Shift puis Fin et Touche Droite).
Enregistrez votre fichier et il devrait avoir maigri.

@+
 
Z

zesuila

Guest
Bonjour Temjeh, Rouch, GClaire, Jmps

Pour Rouch, Normalement je n'ai dqns mon fichier que les lignes et colonnes utiles. Les autres ont étés sélectionnées, effacées et supprimés.
Donc je ne pense pas que cela vienne de cela

Pour Jmps, le fait d'enregistrer sous me cause un problème avec mes macros. Si par exemple, le fichier A est enrigistré sou le nom B, je perds mes macros ou plutôt, le fichier B fait une liaison avec les macros du fichier A. Je ne sais pas comment faire pour que ces macros s'enregistre obligatoirement dans le fichier B sans faire de "liasion" avec le fichier A. Donc plutôt que d'enregistrer sous, je faire une copie du fichier directement dans l'explorateur de windows.

Pour GClaire, je vais tester ton info et te (vous) tiens au courant.

Pour Temjeh, je vais tester tes infos aussi et te (vous) tiens au courant.

Encore merci pour votre aide

J'adôôôôre ce site !!!
Zesuila
 
Z

zesuila

Guest
Re bonjour
J'ai testé une partie de la solution de Temjeh (le fait de mettre Application.ScreenUpdating = False) mais j'ai une erreur dans vba.
En fait je ne sais pas ou mettre cette ligne ainsi d'ailleurs celles de la désactivation du calcul) Il faut dire que je débute en vba donc ...

J'ai retesté la solution de jmps : c'est pareil toujours aussi long

Je vais continuer à travailler sur vos infos...
a +
 

Discussions similaires

Réponses
16
Affichages
728
Réponses
2
Affichages
504

Statistiques des forums

Discussions
314 085
Messages
2 105 647
Membres
109 409
dernier inscrit
Minouch 2024