Problème fichiers deviennent énormes

Le
Frédéric Girard
Chers Maîtres du MPFE, tous puissants Dieux d'Excel et Seigneurs du
VBA

Je m'incline bien bas devant votre connaissance infinie du Tableur, et
devant la charité dont vous faites preuve en aidant les profanes que
nous sommes.
Je suis un fidèle lecteur de ce forum depuis des années et ai
jusqu'ici toujours trouvé une réponse à mes problèmes en fouillant =
un
peu. C'est donc à demi fou d'avoir erré pendant des jours sans trouver
de solution que je vous expose directement mon problème

Symptôme:
Des fichiers qui d'un seul coup passent de quelques ko à plusieurs
(voir des dizaines) de Mo

Cause:
Je me suis rendu compte que c'est en ouvrant un fichier sain en même
temps qu'un fichier buggué et en l'enregistrant que celui ci acquérait
l'embonpoint. Pire:, je créé un nouveau fichier xls, je l'ouvre, je
l'enregistre sans toucher à rien d'autre et boum, le fichier fait
parfois 9 Mo. (J'avais eu quelques fichiers avec des TCD qui
s'empataient et avait pensé à ce problème en premier, mais du coup ce
n'est pas ça)

Solutions testées:
- redimmensionner la used range en supprimant lignes/ colonnes onglet
- copier coller seulement une partie d'un tableau dans un nouveau
classeur vierge
- diverses macros slimfast trouvées sur ce forum ou sur excelabo.
celles que j'arrive à lancer me font perdre que quelques touts petits
ko
- pb config ou virus: Je suis sous win XP SP3 et Office 2003 SP3.
Antivirus McAfee pro et un service informatique proactif d'une grosse
boîte qui ne laisse jamais passer un virus. testé sur d'autres config,
rien de ce côté là.

Avez vous déja rencontré ce problème? Puis-je avoir votre avis écla=
iré
vers quel chemin me tourner pour trouver une solution?

Merci d'avance,
Frédéric
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #23176291
bonjour Frédéric,

si tu peut, dépose ton fichier ici :

http://www.cjoint.com
ou ici,
http://www.cijoint.fr/

et reviens ici, donner le lien de téléchargement que le site va générer.
nous pourrons alors le télécharger et essayer de voir ce qui cloche.

isabelle



Le 2011-03-04 09:22, Frédéric Girard a écrit :
Chers Maîtres du MPFE, tous puissants Dieux d'Excel et Seigneurs du
VBA

Je m'incline bien bas devant votre connaissance infinie du Tableur, et
devant la charité dont vous faites preuve en aidant les profanes que
nous sommes.
Je suis un fidèle lecteur de ce forum depuis des années et ai
jusqu'ici toujours trouvé une réponse à mes problèmes en fouillant un
peu. C'est donc à demi fou d'avoir erré pendant des jours sans trouver
de solution que je vous expose directement mon problème

Symptôme:
Des fichiers qui d'un seul coup passent de quelques ko à plusieurs
(voir des dizaines) de Mo

Cause:
Je me suis rendu compte que c'est en ouvrant un fichier sain en même
temps qu'un fichier buggué et en l'enregistrant que celui ci acquérait
l'embonpoint. Pire:, je créé un nouveau fichier xls, je l'ouvre, je
l'enregistre sans toucher à rien d'autre et boum, le fichier fait
parfois 9 Mo. (J'avais eu quelques fichiers avec des TCD qui
s'empataient et avait pensé à ce problème en premier, mais du coup ce
n'est pas ça)

Solutions testées:
- redimmensionner la used range en supprimant lignes/ colonnes onglet
- copier coller seulement une partie d'un tableau dans un nouveau
classeur vierge
- diverses macros slimfast trouvées sur ce forum ou sur excelabo.
celles que j'arrive à lancer me font perdre que quelques touts petits
ko
- pb config ou virus: Je suis sous win XP SP3 et Office 2003 SP3.
Antivirus McAfee pro et un service informatique proactif d'une grosse
boîte qui ne laisse jamais passer un virus. testé sur d'autres config,
rien de ce côté là.

Avez vous déja rencontré ce problème? Puis-je avoir votre avis éclairé
vers quel chemin me tourner pour trouver une solution?

Merci d'avance,
Frédéric

Frédéric Girard
Le #23176331
Bonjour Isabelle,

voilà un fichier vierge de 11 Mo

http://cjoint.com/?1deqZOcaaJf

Merci pour ton aide
Frédéric
isabelle
Le #23176451
bonjour Frederic,

il y a une feuille masquer (xlVeryHidden ) dans ton fichier, pour la
remettre visible execute cette macro,

Sub test()
For Each f In Sheets
f.Visible = True
Next
End Sub


isabelle

Le 2011-03-04 10:52, Frédéric Girard a écrit :
Bonjour Isabelle,

voilà un fichier vierge de 11 Mo

http://cjoint.com/?1deqZOcaaJf

Merci pour ton aide
Frédéric

Frédéric Girard
Le #23176441
Super!

Effectivement quand je supprime cette feuille masquée, le fichier
subit un sacré régime, ça m'aide déja beaucoup.

Par contre, même après cette opération, le fichier (vide) fait
toujours 1.85 Mo...
Une autre idée magique pour le réduire à une taille vraiment normale?

Merci,
Frédéric
isabelle
Le #23176431
oui, il y a beaucoup de format de cellule personnalisé, un p'tit ménage
s'impose, je continu à vérifier...
isabelle

Le 2011-03-04 11:29, Frédéric Girard a écrit :
Super!

Effectivement quand je supprime cette feuille masquée, le fichier
subit un sacré régime, ça m'aide déja beaucoup.

Par contre, même après cette opération, le fichier (vide) fait
toujours 1.85 Mo...
Une autre idée magique pour le réduire à une taille vraiment normale?

Merci,
Frédéric

isabelle
Le #23176541
il y a aussi énormément de Style perso,
ferme excel et déplace ailleurs ce qu'il y a dans ton répertoire xlstart,
ouvre excel enregistre le fichier et dit-moi combien ce Classeur1 pèse,

isabelle

Le 2011-03-04 11:32, isabelle a écrit :
oui, il y a beaucoup de format de cellule personnalisé, un p'tit
ménage s'impose, je continu à vérifier...
isabelle

Le 2011-03-04 11:29, Frédéric Girard a écrit :
Super!

Effectivement quand je supprime cette feuille masquée, le fichier
subit un sacré régime, ça m'aide déja beaucoup.

Par contre, même après cette opération, le fichier (vide) fait
toujours 1.85 Mo...
Une autre idée magique pour le réduire à une taille vraiment normale?

Merci,
Frédéric
Péhemme
Le #23176601
Bonjour Isabelle,

Il y a également un nombre important de "name" que l'on peut en grande
partie supprimer avec :
Sub SupprimeNameRequête()
'======================================================= 'Supprime les requêtes de la mémoire cachée des "Names"
'======================================================= Dim Nom
For Each Nom In Names
On Error Resume Next
Nom.Delete
Next
End Sub
Il en restera quelques uns à détruire à la main.
Puis un coup de la macro magique de LL "Nettoie" et le fichier vide ne pèse
plus que 48Ko.
Michel



"isabelle" news:ikr5nt$u3$
il y a aussi énormément de Style perso,
ferme excel et déplace ailleurs ce qu'il y a dans ton répertoire xlstart,
ouvre excel enregistre le fichier et dit-moi combien ce Classeur1 pèse,

isabelle

Le 2011-03-04 11:32, isabelle a écrit :
oui, il y a beaucoup de format de cellule personnalisé, un p'tit ménage
s'impose, je continu à vérifier...
isabelle

Le 2011-03-04 11:29, Frédéric Girard a écrit :
Super!

Effectivement quand je supprime cette feuille masquée, le fichier
subit un sacré régime, ça m'aide déja beaucoup.

Par contre, même après cette opération, le fichier (vide) fait
toujours 1.85 Mo...
Une autre idée magique pour le réduire à une taille vraiment normale?

Merci,
Frédéric
Frédéric Girard
Le #23176661
il y a aussi norm ment de Style perso,
ferme excel et d place ailleurs ce qu'il y a dans ton r pertoire xlstart,
ouvre excel enregistre le fichier et dit-moi combien ce Classeur1 p se,



Mon répertoire xlstart est vide... 0 fichers, 0 octets
un fichier vierge fait 13 ko, mais c'était déja le cas avant, c'est
seulement quand j'ai d'autres fichiers "corrompus" ouverts que mes
fichiers vierges prennent du poids...

il y a aussi norm ment de Style perso,
> oui, il y a beaucoup de format de cellule personnalis , un p'tit



Comment faut il faire pour les supprimer?
Jacquouille
Le #23176741
Bonsoir

Au moins un qui a vu clair ... -)

Outre ce que les copains ont répondu, tu fais ce test:
tu ouvres une feuille blanche, tu y sélectionne une colonne ou deux, et tu
les mets en format...(date ou nombre avec décimales, peu importe.) Tes cel
sont toujours vides.
Tu enregistres et tu pèses ton fichier.... -))
In illo tempore, le grand chef à 4 plumes avait attiré notre attention sur
ces formats qui "alourdissent".
Bonne cure et bonne soirée. -)

Jacquouille

" Le vin est au repas ce que le parfum est à la femme."

"Frédéric Girard" a écrit dans le message de groupe de discussion :


Chers Maîtres du MPFE, tous puissants Dieux d'Excel et Seigneurs du
VBA

Je m'incline bien bas devant votre connaissance infinie du Tableur, et
devant la charité dont vous faites preuve en aidant les profanes que
nous sommes.
Je suis un fidèle lecteur de ce forum depuis des années et ai
jusqu'ici toujours trouvé une réponse à mes problèmes en fouillant un
peu. C'est donc à demi fou d'avoir erré pendant des jours sans trouver
de solution que je vous expose directement mon problème

Symptôme:
Des fichiers qui d'un seul coup passent de quelques ko à plusieurs
(voir des dizaines) de Mo

Cause:
Je me suis rendu compte que c'est en ouvrant un fichier sain en même
temps qu'un fichier buggué et en l'enregistrant que celui ci acquérait
l'embonpoint. Pire:, je créé un nouveau fichier xls, je l'ouvre, je
l'enregistre sans toucher à rien d'autre et boum, le fichier fait
parfois 9 Mo. (J'avais eu quelques fichiers avec des TCD qui
s'empataient et avait pensé à ce problème en premier, mais du coup ce
n'est pas ça)

Solutions testées:
- redimmensionner la used range en supprimant lignes/ colonnes onglet
- copier coller seulement une partie d'un tableau dans un nouveau
classeur vierge
- diverses macros slimfast trouvées sur ce forum ou sur excelabo.
celles que j'arrive à lancer me font perdre que quelques touts petits
ko
- pb config ou virus: Je suis sous win XP SP3 et Office 2003 SP3.
Antivirus McAfee pro et un service informatique proactif d'une grosse
boîte qui ne laisse jamais passer un virus. testé sur d'autres config,
rien de ce côté là.

Avez vous déja rencontré ce problème? Puis-je avoir votre avis éclairé
vers quel chemin me tourner pour trouver une solution?

Merci d'avance,
Frédéric
isabelle
Le #23176731
bonne idée Péhemme, je l'avais oublier mais l'avait toujours sous la main,

Sub Nettoie()
'autheur Laurent Longre
Dim Sht As Worksheet, DCell As Range, Calc As Long
Dim Rien As String, Avant As Double, plage As Range
On Error Resume Next
Calc = Application.Calculation 'Mémorisation de l'État de recalcul
'--------------------------------------------------------

MsgBox "Pour le classeur actif : " _
& Chr(10) & ActiveWorkbook.FullName _
& Chr(10) & "dans chaque feuille de calcul" _
& Chr(10) & "recherche la zone contenant des données, " _
& Chr(10) & "réinitialise la derni re cellule utilisée" _
& Chr(10) & "et optimise la taille du fichier Excel ", _
vbInformation, "d'après LL par "
'---------------------------------------------------------

MsgBox "Taille initiale de ce classeur en octets" _
& Chr(10) & FileLen(ActiveWorkbook.FullName), _
vbInformation, ActiveWorkbook.FullName
'------------------------------------------------------
With Application
.Calculation = xlCalculationManual
.StatusBar = "Nettoyage en cours..."
.EnableCancelKey = xlErrorHandler
.ScreenUpdating = True
End With
'-------------------- le traitement
For Each Sht In Worksheets
Avant = Sht.UsedRange.Cells.Count
Application.StatusBar = Sht.Name & "-" & Sht.UsedRange.Address
'-------------------Traitement de la zone trouv e
If Sht.UsedRange.Address Then
Set DCell = Sht.Cells.Find("*", , , , xlByRows, xlPrevious)(2)
'----------------Suppression des lignes inutilis es
If Not DCell Is Nothing Then
Sht.Range(DCell, Sht.Cells([A:A].Count, 1)).EntireRow.Delete
Set DCell = Nothing
Set DCell = Sht.Cells.Find("*", , , , xlByColumns, xlPrevious)(, 2)
'----------------Suppression des colonnes inutilis es
If Not DCell Is Nothing Then Sht.Range(DCell, Sht.[IV1]).EntireColumn.Delete
End If
Rien = Sht.UsedRange.Address
End If
ActiveWorkbook.Save
'---------------------Message pour la feuille trait e
MsgBox "Nom de la feuille de calcul :" & vbCrLf & _
Chr(10) & Sht.Name & _
Chr(10) & Format(Sht.UsedRange.Cells.Count / Avant, "0.00%") & _
" de la taille initiale", _
vbInformation, ActiveWorkbook.FullName
Next Sht
'--------------------Message fin de traitement
MsgBox "Taille optimis e de ce classeur en octets " & _
Chr(10) & FileLen(ActiveWorkbook.FullName), vbInformation, _
ActiveWorkbook.FullNameActive

Application.StatusBar = False
Application.Calculation = Calc
End Sub

isabelle



Le 2011-03-04 12:19, Péhemme a écrit :
Bonjour Isabelle,

Il y a également un nombre important de "name" que l'on peut en grande
partie supprimer avec :
Sub SupprimeNameRequête()
'======================================================= > 'Supprime les requêtes de la mémoire cachée des "Names"
'======================================================= > Dim Nom
For Each Nom In Names
On Error Resume Next
Nom.Delete
Next
End Sub
Il en restera quelques uns à détruire à la main.
Puis un coup de la macro magique de LL "Nettoie" et le fichier vide ne
pèse plus que 48Ko.
Michel




Publicité
Poster une réponse
Anonyme