Taille Du Fichier Excel

LUDWIG

XLDnaute Nouveau
Bonjour à tous,

J'ai un fichier Excel avec plusieurs onglets, dont l'un comporte beaucoup de formules (1829 cellules par colonnes contiennent des formules, je peux avoir 50 colonnes).

Je me suis rendu compte que :
- si j'enregistre mon fichier quand je suis sur l'onglet pleins de formules, mon fichier fait 4.6 Mo
- si j'enregistre mon fichier ouvert dans un onglet vide, il ne fait plus que 1,6 Mo !!

D'ou mes questions :
- comment expliquer ce phénomène ?
- Comment l'exploiter ? je pense à un vba qui se place sur l'onglet vide avant l'enregistrement puis se replace sur l'onglet en cours, et un autre vba qui se place sur un onglet déterminé à l'ouverture.

Merci d'avance pour vos réponses !
 
Dernière édition:

Cousinhub

XLDnaute Barbatruc
Re : Taille Du Fichier Excel

Re-,
tu pourrais essayer quelque chose :
vider le presse papier
pour cela 2 méthodes :
Application.CutCopyMode = False

et une autre instruction issue des macros Xl4 :

Application.CommandBars("Clipboard").Controls(4).Execute


tu peux insérer ce code dans l'évènement :
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.CommandBars("Clipboard").Controls(4).Execute
End Sub

Peut-être?
 

LUDWIG

XLDnaute Nouveau
Re : Taille Du Fichier Excel

Après plusieurs test, il semble que le problème vienne de la sélection d'une plage de données puis d'un tri sur cette plage. Pourtant dans cette plage, il n'y a pas de colonnes ou de lignes "complètes" (lignes 1 à 65000 ou colonnes 1 à 256).

Je comptais de toute façon remplacer la méthode de tri excel par l'utilisation de variable tableaux dans mon code.

J'ai essayé d'enregistrer deux fois de suite, la taille ne change pas : il faut vraiment que je ferme le fichier, que je le rouvre et que j'enregistre pour que la taille diminue.
 

LUDWIG

XLDnaute Nouveau
Re : Taille Du Fichier Excel

tout d'abord excusez-moi je n'avais pas vu la deuxième page du sujet ! C'est en ne voyant pas s'afficher ma dernière réponse que j'ai découvert qu'il y avait une deuxième page !

Donc je n'avais pas vu les réponses de bhbh et MJ13.

MJ13 : quand mon fichier est en configuration "obèse" (4.3 Mo), les dernières cellules (ctrl+fin) sont les mêmes quand configuration "légère" (1.3 Mo), quelques soient les onglets.

bhbh : j'ai collé le code dans "ThisWorkBook" (en corrigeant l'espace "E xecute") : erreur d'exécution 9, l'indice n'appartient pas à la sélection. L'ai-je collé où il fallait ? J'ai essayé avec le premier code "Application.CutCopyMode = False" : pas de changement de taille.

Staple1600 : non je n'ai pas 65000 lignes à trier. Mon code n'est pas bon alors ? Il faut que j'indique une plage de A2 à "xllastcell", c'est ça ?
 

LUDWIG

XLDnaute Nouveau
Re : Taille Du Fichier Excel

Bon, j'ai mon code pour ne plus avoir de tri sur des colonnes entières.
Mais le problème persiste.

J'ai encore deux pistes de recherche :
- j'ai des noms définis dans Excel qui prennent des colonnes entières et qui sont utilisés dans le code vba.
- j'ai peut-être des .find , .select ou autres qui s'appliquent sur des colonnes entières
 

Discussions similaires

Statistiques des forums

Discussions
312 490
Messages
2 088 879
Membres
103 981
dernier inscrit
vinsalcatraz