classeur trop lourd

FIACHETTI

XLDnaute Nouveau
bonjour je suie en train de faire un classeur pour un planning de chargement avec les 52 semaines, ce fichier pése 8,34 Mo et il met plus de 5 minute à s'ouvrir. je n'arrive pas à supprimer les colonnes vides ainsi que les lignes. est ce qu'il existe un moyen de l'alléger
ci joint une feuille du classeur
merci de vos réponses
Cijoint.fr - Service gratuit de dépôt de fichiers

c'est le lien de mon classeur
 

Pièces jointes

  • Classeur1.xls
    88 KB · Affichages: 90
  • Classeur1.xls
    88 KB · Affichages: 107
  • Classeur1.xls
    88 KB · Affichages: 102
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : classeur trop lourd

Bonjour
Votre fichier me plante mon Excel 2003.
Pendant qu'il vous est encore possible de l'ouvrir et avant de tout perdre de votre classeur vérollé, créez un nouveau classeur, copiez y les données de vos feuilles (mais pas les feuilles elles mêmes: vous risqueriez de copier la corruption avec).
veillez à ne pas laissez de liaison avec l'autre classeur.
Bon courage.
 

flyonets44

XLDnaute Occasionnel
Re : classeur trop lourd

Bonjour
voici du code pour nettoyer les feuilles de ton classeur et le faire maigrir
Sub DeleteUnused()
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Dim myLastRow As Long, myLastCol As Long
Dim Wks As Worksheet, Vcount&
Dim dummyRng As Range
Vcount = 1
For Each Wks In ActiveWorkbook.Worksheets
Set Wks = ActiveSheet
With Wks
myLastRow = ActiveSheet.UsedRange.Rows.Count
myLastCol = ActiveSheet.UsedRange.Columns.Count
Set dummyRng = ActiveSheet.UsedRange
On Error Resume Next
myLastRow = _
Wks.Cells.Find("*", after:=.Cells(1), _
LookIn:=xlFormulas, lookat:=xlWhole, _
searchdirection:=xlPrevious, _
searchorder:=xlByRows).Row
' Debug.Print myLastRow
myLastCol = _
Wks.Cells.Find("*", after:=.Cells(1), _
LookIn:=xlFormulas, lookat:=xlWhole, _
searchdirection:=xlPrevious, _
searchorder:=xlByColumns).Column
' Debug.Print myLastCol
On Error GoTo 0
If myLastRow * myLastCol = 0 Then
.Columns.Delete
Else
Wks.Range(Cells(myLastRow + 1, 1), _
.Cells(Rows.Count, 1)).EntireRow.Delete
Wks.Range(.Cells(1, myLastCol + 1), _
.Cells(1, .Columns.Count)).EntireColumn.Delete
End If
End With
If Vcount = 1 Then Exit For
Next Wks
Set Wks = Nothing
Application.Calculation = xlCalculationAutomatic
End Sub
Cordialement
Flyonets
 

Dranreb

XLDnaute Barbatruc
Re : classeur trop lourd

Si ma présomption de corruption est juste,
ce serait dangeureux d'essayer quoi que ce soit d'autre qui entrainerait de nouvelles modifications plutôt que de sauvegarder ce qu'on peut dans un nouveau classeur.
Ou alors sauvergarder le classeur modifié sous un autre nom, afin de garder celui dont l'ouverture est encore péniblement possible. Mettre les calculs en mode manuel pourrait mettre plus de chances de votre coté pour cette récupération.
À +
 
Dernière édition:

laurent950

XLDnaute Accro
Re : classeur trop lourd

Bonsoir,

une méthodes :

ouverture d'un nouveau classeur (Enregistrement de celui-ci "Classeur cible")

maitenant ouverture du classeur source.

Option excel = eorganisation vertical (les deux classeur sont a l'affichage)

Manipe :

Selection de toutes les feuilles du classeur source = puis clique droit sur un onglet et faire le choix suivant

Deplacer ou copier (Deplacer les feuilles séléctionnées dans le classeur : ici chosir le classeur cible) Ne pas oublier de cocher en bas la case crée une copie

puis cliquer sur ok (enregister le classeur cible)

Copier les code VBA d'un classeur a l'autre

ouvrir VBA par alt+F11

et copier les modules d'une feuille a l'autre par glisser coller

voila la manipe est fini ont peux gagné un peux

exemple du classeur 5.31 MO par rapport a celuis d'origine 8,34 Mo

Impossible a envoyer sur le forum mêm compresser aux maxi désolé

mais cela fonctionne je suis a votre disposition pour plus de renseignement

Laurent
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : classeur trop lourd

Ne surtout pas suivre les conseils de Laurent950.
Ça présenterait moins de danger mais aussi moins d'intéret pour un classeur sain. Mais là, je suis bien fondé à penser que la cohésion interne de votre classeur est altérée.
 

gibtoul

XLDnaute Junior
Re : classeur trop lourd

bonjour a tous

J'ai essayé la macro de flyonets44.
Lors de son activation elle efface des cellules vides ayant une mise en forme et validation que je souhaite conserver.

Est-il possible de faire "travailler" cette macro par exemple dans une plage composé de la Cellule B1 à la cellule Z23 ?

2 eme Petite question pour la faire fonctionner sur un classeur complet dois-je rerendre la macro et la mettre dans chaque feuille ?

Merci pour aide

a bientot
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : classeur trop lourd

Bonjour.
Cette procédure dans un module standard nettoierait toutes les feuilles des cellules dont la valeur est au mieux une chaine vide, mais seulement au delà de la ligne 25 et la colonne Z.
VB:
Option Explicit
'
Sub NettoyerFeuilles()
Dim Feui As Worksheet, LMax As Long, CMax As Long
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For Each Feui In ActiveWorkbook.Worksheets
   On Error Resume Next
   LMax = Feui.UsedRange.Find("*", After:=Feui.[A1], LookIn:=xlFormulas, Lookat:=xlWhole, _
      SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row
   If Err Then LMax = 0: Err.Clear
   CMax = Feui.UsedRange.Find("*", After:=Feui.[A1], LookIn:=xlFormulas, Lookat:=xlWhole, _
      SearchDirection:=xlPrevious, SearchOrder:=xlByColumns).Column
   If Err Then CMax = 0
   On Error GoTo 0
   If LMax < 25 Then LMax = 25
   If CMax < 26 Then CMax = 26
   Feui.Rows(LMax + 1).Resize(Feui.Rows.Count - LMax).EntireRow.Delete
   Feui.Columns(CMax + 1).Resize(Feui.Columns.Count - CMax).EntireColumn.Delete
   Next Feui
Application.Calculation = xlCalculationAutomatic
End Sub
Cordialement.
 

gibtoul

XLDnaute Junior
Re : classeur trop lourd

Bonjour Dranreb
J'ai implemanté le module dans mon claseur
Il fonctionne par contre il faut cliquer sur le bouton pour essayé les colonnes une a une ?

merci pour ton aide

a+
 

Pièces jointes

  • TEST4.xls
    37.5 KB · Affichages: 61
  • TEST4.xls
    37.5 KB · Affichages: 61
  • TEST4.xls
    37.5 KB · Affichages: 57

gibtoul

XLDnaute Junior
Re : classeur trop lourd

Bonjour Dranreb

je reviens vers toi car je rencontre un souci dans le fonctionnement du fichier
je te joins le fichier test6 sur lequel j'ai quelque difficulté dans son fonctionnement

Merci pour ton aide
 

Pièces jointes

  • TEST6.xls
    40 KB · Affichages: 51
  • TEST6.xls
    40 KB · Affichages: 51
  • TEST6.xls
    40 KB · Affichages: 46

Discussions similaires

Statistiques des forums

Discussions
312 576
Messages
2 089 863
Membres
104 293
dernier inscrit
blondo