Macro à optimiser

Fermé
jr - 24 oct. 2013 à 17:45
Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 - 25 oct. 2013 à 10:15
Bonjour,
J'ai créé une macro qui, à partir d'un fichier excel (qui pèse 2,3Mo), me créé deux nouveaux fichier avec un certain nombre de manips effectuées (filtres, tris, comparaisons, etc)

Mes deux fichiers finaux font 3,8Mo et 270 Mo
Or ils ont autant d'informations, donc il y a clairement une erreur sur le deuxième. Il est anormalement volumineux.
Savez-vous d'où ça peut venir?

J'ai mis des tests à l'intérieur de mon code, afin de voir à quel endroit le fichier augmente bizarrement de taille, et ça se passe dans ce code :

Sheets("GENERAL").Select
Selection.AutoFilter
Columns("D:D").Select
Selection.AutoFilter
ActiveSheet.Range("$D:$D").AutoFilter Field:=1, Criteria1:="Bordeaux"
Cells.Select
Selection.Copy
Sheets("BORDEAUX").Select
Cells.Select
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveSheet.Paste
Columns("A:A").Select
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("BORDEAUX").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("BORDEAUX").Sort.SortFields.Add Key:=Range( _
"A2:A2160"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("BORDEAUX").Sort
.SetRange Range("A1:R2160")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

Merci beaucoup si quelqu'un peut jeter un coup d'oeil...




A voir également:

1 réponse

Zoul67 Messages postés 1959 Date d'inscription lundi 3 mai 2010 Statut Membre Dernière intervention 30 janvier 2023 149
25 oct. 2013 à 10:15
Bonjour,

Je crois (mais ne suis pas sûr) que le copier-coller de toute une colonne crée des données en surnombre. Soit tu réduis la plage, soit tu appliques un nettoyage comme décrit :
- ici : https://www.generation-nt.com/reponses/reduire-taille-fichier-excel-entraide-3005691.html#reponse
- ou là : http://jacxl.free.fr/cours_xl/cours_xl_jac.html#menage

A+
0