Bonjour a tous,
je débute en VBA et besoin de développer un fichier de comparaison pour mon travaille.
il faut comparer les valeurs de chaque cellules de trois colonnes dans deux feuilles qui se trouve dans le même classer, si toute les valeurs égaux "ok" si non il faut savoir la différence concerne qu'elle colonne.
le problème de mon code que j'ai imbriqué plusieurs boucles ce qui rend l’exécution du code impossible sachant que j'ai plus que 4000 lignes pour chaque feuille, et je ne sais pas comment optimiser la recherche sur VBA.
et les résultat ne sont pas souvent correcte, je ne vois pas l'erreur.
en gros je vais simplifier j'ai deux feuilles F1 et F2
F2
A B C
1 a x
2 b x
F1
A B c
1 a x
2 b x
2 b y
Résultat affichée dans la F1
D
ok
ok
check C
j’espère que mes explications sont claire.
je vous remercie par avance pour votre aide
Orda
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 Sub Bouton1_Cliquer() Dim i As Long Dim j As Long Dim K As Long Dim L As Long Sheets("Simplified Mapping").Select nbcells2 = Application.WorksheetFunction.CountA(Range("$C:$C")) Sheets("DLR FDMEE").Select nbcells = Application.WorksheetFunction.CountA(Range("$A:$A")) For i = 2 To nbcells For j = 4 To nbcells2 If Sheets("DLR FDMEE").Cells(i, 3) = Sheets("Simplified Mapping").Cells(j, 3) Then For K = j To nbcells2 If Sheets("DLR FDMEE").Cells(i, 4) = Sheets("Simplified Mapping").Cells(K, 4) Then For L = K To nbcells2 If Sheets("DLR FDMEE").Cells(i, 35) = Sheets("Simplified Mapping").Cells(j, 6) Then Sheets("DLR FDMEE").Cells(i, 44) = "OK" Else Sheets("DLR FDMEE").Cells(i, 44) = "CHECK FA" End If Next L Else Sheets("DLR FDMEE").Cells(i, 44) = "CHECK Account" End If Next K Else Sheets("DLR FDMEE").Cells(i, 44) = "CHECK Source Account" End If Next j Next i End Sub
Partager