OVH Cloud OVH Cloud

Taille de fichier maximale (bis)

1 réponse
Avatar
nicolasroth
Oops, j'ai oublié de mentionner des détails:
L'OS est NT4 et le soft Excel 97 SR-2

Merci!
Nicolas

1 réponse

Avatar
JF
Bonjour,

Suite à un fil d'il y a quelques semaines, FS avait pondu la procédure
ci-dessous, très efficace pour faire perdre leurs ko superflus aux gros
fichiers Excel... Après adaptation, je le fais de temps en temps et descend
de 10Mo+ à 500Ko environ.

Sub Reconstruit(NomClasseur$)
'le projet du classeur ne doit pas être protégé
Dim Wbk As Workbook, Chemin$, tmpNom$, Nom$
Dim Projet, i&, Module$

On Error Resume Next
Set Wbk = Workbooks(NomClasseur)
On Error GoTo 0
If Wbk Is Nothing Then
MsgBox "Le classeur à reconstruire doit être ouvert..."
Exit Sub
End If

'dossier temporaire pour l'exportation des modules de code
Chemin = Wbk.Path & "tempExport"
MkDir Chemin: Chemin = Chemin & ""

'export des modules
Set Projet = Wbk.VBProject
With Projet
For i = 1 To .VBComponents.Count
Select Case .VBComponents(i).Type
Case 1:
.VBComponents(i).Export Chemin & .VBComponents(i).Name & ".bas"
Case 2:
.VBComponents(i).Export Chemin & .VBComponents(i).Name & ".cls"
Case 3:
.VBComponents(i).Export Chemin & .VBComponents(i).Name & ".frm"
End Select
Next
End With

'export des feuilles dans un nouveau classeur
tmpNom = Left(NomClasseur, Len(NomClasseur) - 4) & "_Refait.xls"
Wbk.Sheets.Copy
ActiveWorkbook.SaveAs Wbk.Path & "" & tmpNom

'réimport des modules dans le nouveau classeur
Module = Dir(Chemin & "*.*")
Do While (Len(Module) > 0)
On Error Resume Next
Workbooks(tmpNom).VBProject.VBComponents _
.Import(Chemin & Module).Name = Module
On Error GoTo 0
Kill Chemin & Module
Module = Dir()
Loop

'enregistrement et nettoyage
Workbooks(tmpNom).Close True
RmDir Chemin

'remplacement de l'ancien fichier par le nouveau
If MsgBox("Donner au fichier reconstruit le nom du fichier " & _
"d'origine et détruire ce dernier ?", vbYesNo) = vbYes Then
Chemin = Wbk.Path & "": Nom = Wbk.Name
Wbk.Close False
Kill Chemin & Nom
Name Chemin & tmpNom As Chemin & Nom
End If

End Sub

--
Amicalement,

JF

Réponse perso: bal 100 le 6

"Nicolas" a écrit dans le message de news:

Oops, j'ai oublié de mentionner des détails:
L'OS est NT4 et le soft Excel 97 SR-2

Merci!
Nicolas