IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Pb taille fichier Excel


Sujet :

Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Août 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 19
    Points : 18
    Points
    18
    Par défaut Pb taille fichier Excel
    Bonjour

    J'ai un classeur excel dans lequel, il y a plusieurs feuilles, plusieurs Userforms avec du code etc...

    Du coup mon fichier fait 3Mo ==> trop gros.

    J'ai donc fait une macro qui supprime toutes les feuilles sauf celle qui m'intéresse, et qui supprime toutes les userforms et module. Il n'y a donc presque plus rien dans mon fichier.

    Mais malheureusement, il fait toujours 3Mo.

    Avez vous un solution pour libérer les octets inutilement utilisés ?

    Merci d'avance.

  2. #2
    Membre émérite
    Avatar de cb_60
    Homme Profil pro
    Chargé de mission technique
    Inscrit en
    Juillet 2007
    Messages
    1 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chargé de mission technique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 253
    Points : 2 377
    Points
    2 377
    Billets dans le blog
    14
    Par défaut
    Bonjour
    Une procédure de Laurent Longre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    Sub Nettoie()
     
    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 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

  3. #3
    Membre à l'essai
    Inscrit en
    Août 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 19
    Points : 18
    Points
    18
    Par défaut Parfait
    Oula merci beaucoup pour ta rapidité et pour l'exactitude de ta réponse...

    Ca me convient parfaitement

    Merci beaucoup.

  4. #4
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    autre méthode d'amaigrissement : suppression des noms
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim nb As Long, i As Long
     
    On Error Resume Next
     
    nb = ActiveWorkbook.Names.count
    For i = ActiveWorkbook.Names.count To 1 Step -1
        application.StatusBar = "Effacement des noms en cours : " & Format((nb - i) / nb, "0.0%")
        ActiveWorkbook.Names(i).Delete
    Next i
    application.StatusBar = False

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Optimiser / réduire taille fichier Excel
    Par philoflore dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 03/04/2020, 00h21
  2. [WD19] Modifier police et taille fichier excel par programmation
    Par remi82 dans le forum WinDev
    Réponses: 12
    Dernier message: 27/08/2014, 15h12
  3. [XL-2003] taille fichier excel
    Par anthodub dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/06/2011, 12h34
  4. [Excel 2003] Taille fichier Excel trop gros
    Par damsmut dans le forum Excel
    Réponses: 10
    Dernier message: 17/03/2011, 09h27
  5. Probleme de taille fichier excel avec POI
    Par stratocasters dans le forum API standards et tierces
    Réponses: 0
    Dernier message: 31/03/2010, 18h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo