Onglet Excel de 253 Mo

Second cup

XLDnaute Nouveau
Bonjour, je suis nouveau sur le forum, et j'ai actuellement un fichier Excel vérolé.

En fait, nous sommes plusieurs au travail à avoir accès à ce fichier, et l'une des personnes a réalisé une action dont elle n'a aucun souvenir, mais nous avons un onglet qui fait maintenant 253 Mo.

Évidement, à force de copier coller pour résoudre le problème, j'ai réussi à isoler cet onglet en récupérant toutes mes données sur un autre fichier.

J'ai vider l'ensemble des cellules, et je me retrouve avec un fichier qui a 1 onglet, dont toutes les cellules sont vide, et le fichier a toujours cette taille de 253 Mo.

Auriez-vous une idée du problème que cela peut-être et surtout comment le résoudre !

Merci par avance à tous
 

jeanpierre

Nous a quitté
Repose en paix
Re : Onglet Excel de 253 Mo

Bonjour Second cup, Bienvenue pour ta première question,

Recopie, non pas les feuilles entières, mais tes tableaux, données, etc.. dans un nouveau classeur.

Excel a, sans doute, conservé mémoire de toute une série de manipulations.

Bon courage.

Jean-Pierre
 

crisud

XLDnaute Nouveau
Re : Onglet Excel de 253 Mo

Bonsoir

Pour une fois que je peux venir en aide
contrairement à d'habitude où c'est vous qui m'aidé

j'ai trouvé ce code qui marche bien, testé

Sub Nettoie()
'
' Nettoie Macro
'
'
'
Dim Sht As Worksheet, DCell As Range, Calc As Long, 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 GeeDee@m6net.fr"
'-------------------------------------------------------------
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 <> "$A$1" Or Not IsEmpty(Sht.[A1]) 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 :" & 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
 

kiki29

XLDnaute Barbatruc
Re : Onglet Excel de 253 Mo

Salut, une autre voie c'est d'utiliser Calc d'OpenOffice pour ouvrir et sauver le fichier en question, celà peut apporter un gain de taille substantiel, à tester cependant sur une copie du fichier en question
 

Discussions similaires

Réponses
1
Affichages
247

Statistiques des forums

Discussions
312 496
Messages
2 088 982
Membres
103 997
dernier inscrit
SET2A