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.
Merci
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 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
Partager