Bonjour à tous,
Je dois créer un macro pour le taf et je bloque un peu pour la finaliser.
Mon probleme est le suivant, j'ai un tableau d'envrion 20000 lignes et je voudrais supprimer les lignes qui comporte des doublons mais sous condition.
Je m'explique, dans la colonne K j'ai mes numeros de factures, et dans la colonne AX j'ai une option concernant ces factures.
Je voudrais que suivant l'option (colonne AX) concernant la facture (colonne K) la ligne soit comparé avec celles d'au dessus (ou dessous) et si le programme trouve le meme numéro de facture alors il efface la ligne.
J'ai commencé à écrire un code, qui marche mais qui n'efface pas toutes les lignes. Il y a toujours des facture en doublon et comportant la meme option...
Voici mon code et une explication supplementaire:
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 Sub Ranking() Dim Plage2 As Range Dim Plage3 As Range Dim j As Integer 'Application.ScreenUpdating = True 'Application.DisplayAlerts = False Sheets("Database").Select Set Plage2 = Range("K10:K" & Range("K10").End(xlDown).Row) Set Plage3 = Range("AX10:AX" & Range("AX10").End(xlDown).Row) For j = Plage3.Cells.Count To 10 Step -1 Plage2.Cells(j).Value = UCase(Plage2.Cells(j).Value) Plage2.Cells(j - 1).Value = UCase(Plage2.Cells(j - 1).Value) If Plage3.Cells(j).Value = "QTY" Then If Plage2.Cells(j).Value = Plage2.Cells(j - n).Value Then Plage2.Cells(j - 1).EntireRow.Delete End If ElseIf Plage3.Cells(j).Value = "PRICE" Then If Plage2.Cells(j).Value = Plage2.Cells(j - 1).Value Then Plage2.Cells(j - 1).EntireRow.Delete End If ElseIf Plage3.Cells(j).Value = "TAX" Then If Plage2.Cells(j).Value = Plage2.Cells(j - 1).Value Then Plage2.Cells(j -1).EntireRow.Delete End If ElseIf Plage3.Cells(j).Value = "OTHER" Then If Plage2.Cells(j).Value = Plage2.Cells(j - 1).Value Then Plage2.Cells(j - n).EntireRow.Delete End If End If Next End Sub
Explication: les options de la colonne AX sont les suivantes: QTY, PRICE, TAX, OTHER.
En clair si je conserve la facture si il y a écrit QTY dans la colonne AX puis j'efface tous les doublons,peu importe l'option.
Ainsi de suite par ordre de priorité de la colonne AX qui est le suivant 1QTY 2PRICE, 3TAX, 4 OTHER.
J'espère avoir été clair, sinon faite moi le savoir.
Merci par avance pour votre aide et conseils.
Partager