Problème de lenteur avec une macro Excel

Sarzo -  
 Sarzo -
Bonjour,

Je travaille actuellement sur un fichier Excel avec pas mal de données (10 M), plusieurs feuilles et des formules pour relier tout ça. J'ai une macro qui me permet d'analyser des résultats, le problème c'est qu'à chaque fois que je l'exécute le fichier devient un peu plus lent jusqu'à un point où je n'arrive plus à travailler dessus. Est ce qu'il y a une façon simple de modifier mon fichier ou ma macro pour éviter ce problème. La dernière fois, pour continuer à travailler j'ai du copier toute les formules dans un nouveau fichier Excel mais forcément ça m'a pris pas mal de temps.

Merci d'avance.
Configuration: Windows XP
Internet Explorer 6.0

2 réponses

  1. m@rina Messages postés 27636 Date d'inscription   Statut Modérateur Dernière intervention   11 566
     
    Bonjour,

    Tant qu'on ne sait pas ce que fait ta macro et comment elle est écrite, je ne vois pas comment on peut t'aider...

    m@rina
    0
  2. Sarzo
     
    En fait je n'ai pas voulu copier la macro parce qu'elle est assez longue mais voici une partie pour que tu puisses voir plus ou moins comment elle est écrite. Je viens de faire une copie de mon fichier et d'éliminer le contenu de toutes les cellules et la taille de ce fichier est encore de 17 MB. Je ne sais pas à quoi correspond toute cette information.

    Merci d'avance si tu peux me donner un coup de main.

    Sheets("Resumen").Select
    Range("A2").Select
    Range(Selection, Selection.End(xlDown)).Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.Copy
    Sheets("Filtro").Select
    Range("A19").Select
    ActiveSheet.Paste

    Range("A19:Q5000").Select
    With Selection
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlBottom
    .WrapText = False
    .Orientation = 0
    .AddIndent = False
    .IndentLevel = 0
    .ShrinkToFit = False
    .ReadingOrder = xlContext
    .MergeCells = False
    End With

    With Selection.Font
    .Name = "Frutiger-Light"
    .Size = 8
    .Strikethrough = False
    .Superscript = False
    .Subscript = False
    .OutlineFont = False
    .Shadow = False
    .Underline = xlUnderlineStyleNone
    .ColorIndex = xlAutomatic
    End With

    Range("F21").Select
    Range("F18:F5000").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
    Range("C1:C2"), Unique:=False
    Range("A18:Q5000").Select
    Selection.Copy
    Sheets("No Vehiculos").Select
    Range("A1").Select
    ActiveSheet.Paste
    Range("A1").Select

    Sheets("Filtro").Select
    Range("A19:Q5000").Select
    Selection.ClearContents
    ActiveSheet.ShowAllData

    Range("A19:Q5000").Select
    Selection.Sort Key1:=Range("F19"), Order1:=xlDescending, Key2:=Range("P19") _
    , Order2:=xlAscending, Key3:=Range("I19"), Order3:=xlAscending, Header:= _
    xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
    DataOption1:=xlSortNormal, DataOption2:=xlSortTextAsNumbers, DataOption3 _
    :=xlSortNormal

    Calculate
    0