Quand on fait des modifications sur un classeur (sauvé en .xlsb ici)
la taille du fichier sur le disque augmente (sans doute parce qu'XL
sauve des infos de"undo"... et sans doute pour d'autres raisons...)
Quand je ferme le classeur, je le rouvre et le sauve à nouveau, la
taille du fichier diminue (genre 4,5Mo -> 1,5Mo : pas négligeable)
Y'a-t-il un moyen de "sauver à nouveau" sans être obligé de fermer
et rouvrir le classeur ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Bonjour,
Essaie avec cette macro. Elle devrait faire maigrir la taille de ton fichier sans avoir à le fermer ou l'enregistrer!
'------------------------------------ Sub test() Dim Sh As Worksheet, DerLig As Long, DerCol As Integer Dim ModeCalcul As String
Application.ScreenUpdating = False ModeCalcul = Application.Calculation Application.Calculation = xlCalculationManual Application.EnableEvents = False On Error Resume Next For Each Sh In ThisWorkbook.Worksheets With Sh If Not IsEmpty(.UsedRange) Then DerLig = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious).Column .Range(.Cells(1, DerCol + 1), .Cells(.Rows.Count, .Columns.Count)).Clear .Range(.Cells(1, DerCol + 1), .Cells(.Rows.Count, .Columns.Count)).Delete .Range(.Cells(DerLig + 1, 1), .Cells(.Rows.Count, .Columns.Count)).Clear .Range(.Cells(DerLig + 1, 1), .Cells(.Rows.Count, .Columns.Count)).Delete End If End With If Err <> 0 Then Err = 0 Next Application.Calculation = ModeCalcul Application.EnableEvents = True Application.ScreenUpdating = True End Sub '------------------------------------
"GL" a écrit dans le message de groupe de discussion : 5496eccc$0$1977$
Bonjour,
Quand on fait des modifications sur un classeur (sauvé en .xlsb ici) la taille du fichier sur le disque augmente (sans doute parce qu'XL sauve des infos de"undo"... et sans doute pour d'autres raisons...)
Quand je ferme le classeur, je le rouvre et le sauve à nouveau, la taille du fichier diminue (genre 4,5Mo -> 1,5Mo : pas négligeable)
Y'a-t-il un moyen de "sauver à nouveau" sans être obligé de fermer et rouvrir le classeur ?
Merci pour vos lumières. Cdt.
Bonjour,
Essaie avec cette macro. Elle devrait faire maigrir la taille de ton fichier
sans avoir à le fermer ou l'enregistrer!
'------------------------------------
Sub test()
Dim Sh As Worksheet, DerLig As Long, DerCol As Integer
Dim ModeCalcul As String
Application.ScreenUpdating = False
ModeCalcul = Application.Calculation
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
On Error Resume Next
For Each Sh In ThisWorkbook.Worksheets
With Sh
If Not IsEmpty(.UsedRange) Then
DerLig = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious).Column
.Range(.Cells(1, DerCol + 1), .Cells(.Rows.Count,
.Columns.Count)).Clear
.Range(.Cells(1, DerCol + 1), .Cells(.Rows.Count,
.Columns.Count)).Delete
.Range(.Cells(DerLig + 1, 1), .Cells(.Rows.Count,
.Columns.Count)).Clear
.Range(.Cells(DerLig + 1, 1), .Cells(.Rows.Count,
.Columns.Count)).Delete
End If
End With
If Err <> 0 Then Err = 0
Next
Application.Calculation = ModeCalcul
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
'------------------------------------
"GL" a écrit dans le message de groupe de discussion :
5496eccc$0$1977$426a34cc@news.free.fr...
Bonjour,
Quand on fait des modifications sur un classeur (sauvé en .xlsb ici)
la taille du fichier sur le disque augmente (sans doute parce qu'XL
sauve des infos de"undo"... et sans doute pour d'autres raisons...)
Quand je ferme le classeur, je le rouvre et le sauve à nouveau, la
taille du fichier diminue (genre 4,5Mo -> 1,5Mo : pas négligeable)
Y'a-t-il un moyen de "sauver à nouveau" sans être obligé de fermer
et rouvrir le classeur ?
Essaie avec cette macro. Elle devrait faire maigrir la taille de ton fichier sans avoir à le fermer ou l'enregistrer!
'------------------------------------ Sub test() Dim Sh As Worksheet, DerLig As Long, DerCol As Integer Dim ModeCalcul As String
Application.ScreenUpdating = False ModeCalcul = Application.Calculation Application.Calculation = xlCalculationManual Application.EnableEvents = False On Error Resume Next For Each Sh In ThisWorkbook.Worksheets With Sh If Not IsEmpty(.UsedRange) Then DerLig = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious).Row
DerCol = .Cells.Find(What:="*", _ LookIn:=xlFormulas, _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious).Column .Range(.Cells(1, DerCol + 1), .Cells(.Rows.Count, .Columns.Count)).Clear .Range(.Cells(1, DerCol + 1), .Cells(.Rows.Count, .Columns.Count)).Delete .Range(.Cells(DerLig + 1, 1), .Cells(.Rows.Count, .Columns.Count)).Clear .Range(.Cells(DerLig + 1, 1), .Cells(.Rows.Count, .Columns.Count)).Delete End If End With If Err <> 0 Then Err = 0 Next Application.Calculation = ModeCalcul Application.EnableEvents = True Application.ScreenUpdating = True End Sub '------------------------------------
"GL" a écrit dans le message de groupe de discussion : 5496eccc$0$1977$
Bonjour,
Quand on fait des modifications sur un classeur (sauvé en .xlsb ici) la taille du fichier sur le disque augmente (sans doute parce qu'XL sauve des infos de"undo"... et sans doute pour d'autres raisons...)
Quand je ferme le classeur, je le rouvre et le sauve à nouveau, la taille du fichier diminue (genre 4,5Mo -> 1,5Mo : pas négligeable)
Y'a-t-il un moyen de "sauver à nouveau" sans être obligé de fermer et rouvrir le classeur ?