Optimisation code : vitesse de traitement
Bonjour,
J'ai un fichier avec 60 000 lignes environs.
Je dois extraire certaines données de celui-ci, j'ai pensé à utiliser les filtres mais étant donné qu'il y a beaucoup de ligne, les filtres ne m'affichent pas toutes les données.
Je passe donc par une macro mais qui reste relativement longue pour le traitement .
Est-il possible d'optimiser ce code afin d'avoir une vitesse de traitement plus rapide.
Code:
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
|
Sub Nettoyage
'Suppression lignes 1 à 11
Rows("1:11").Delete Shift:=xlUp
'suppression demandes hors curatif
derniereligne = Range("A1").SpecialCells(xlCellTypeLastCell).Row
For k = derniereligne To 2 Step -1
typetravail = Range("O" & k).Value
If typetravail <> "Curatifs" And typetravail <> "Curatif injustifié" And typetravail <> "Suivis" Then Rows(k).Delete
Next k
'Suppression demandes hors IMMO et DSCC non concernées
For s = derniereligne To 2 Step -1
DSCC = Range("E" & s).Value
Famille = Range("A" & s).Value
If Famille <> "IMMOBILIER" Or DSCC <> "443620-NANTES DSCC" And DSCC <> "492880-ANGERS DSCC" And DSCC <> "353630-RENNES DSCC" And DSCC <> "141220-CAEN DSCC" And DSCC <> "761530-ROUEN DSCC" And DSCC <> "562810-VANNES DSCC" And DSCC <> "372090-TOURS DSCC" And DSCC <> "451580-ORLEANS DSCC" Then Rows(s).Delete
Next s
'Suppression statut
For t = derniereligne To 2 Step -1
stat = Range("G" & t).Value
If stat = "TERMINE" Or stat = "DEVISREFUSE" Or stat = "ANNULE" Then Rows(t).Delete
Next t
'Suppression colonnnes inutiles
Range("B:D,H:I,L:M,O:O,Q:U,W:AB,AD:AD,AF:AP").Delete Shift:=xlToLeft
End Sub |
Merci