Bjr,
J'ai créé une macro VBA qui me permet de faire correspondre 2 fichiers Excel.
En gros, la macro va voir les valeurs de 2 colonnes dans le premier fichier et elle doit ensuite aller voir si elle retrouve ces deux mêmes valeurs dans les 2 colonnes correspondantes de l'autre fichier.
Le problème est que ces fichiers sont très lourds (15000 lignes pour le premier, 59000 pour l'autre!!), et la macro que j'ai faite vérifie à chaque fois chaque ligne... Du coup, l'exécution est trèèèèèèèèès longue...
Voici mon code (désolé pour la mise en forme, je sais que c'est pas génial...) :
Est-ce qu'il existe une autre solution qui me permettrait une exécution plus rapide, parce que à ce rythme, j'en ai pour des heures, voire des jours...
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 Sub merge() Dim cpt1, cpt2 As Double Application.ScreenUpdating = False Windows("Etude Garanties 1.xls").Activate Sheets("REM").Select cpt1 = Range("G65536").End(xlUp).Row Windows("RIC 5 ANS au 12062008.xls").Activate Sheets("RIC").Select cpt2 = Range("E65536").End(xlUp).Row Windows("Etude Garanties 1.xls").Activate For n = 5 To cpt1 For k = 5 To cpt2 If (Workbooks("Etude Garanties 1.xls").Sheets("REM").Range("G" & n).Value = Workbooks("RIC 5 ANS au 12062008.xls").Sheets("RIC").Range("E" & k).Value) And (Workbooks("Etude Garanties 1.xls").Sheets("REM").Range("H" & n).Value = Workbooks("RIC 5 ANS au 12062008.xls").Sheets("RIC").Range("F" & k).Value) Then Workbooks("Etude Garanties 1.xls").Sheets("REM").Range("BA" & n).Value = Workbooks("RIC 5 ANS au 12062008.xls").Sheets("RIC").Range("A" & k).Value Workbooks("Etude Garanties 1.xls").Sheets("REM").Range("BB" & n).Value = Workbooks("RIC 5 ANS au 12062008.xls").Sheets("RIC").Range("B" & k).Value Workbooks("Etude Garanties 1.xls").Sheets("REM").Range("BC" & n).Value = Workbooks("RIC 5 ANS au 12062008.xls").Sheets("RIC").Range("C" & k).Value End If Next Next Application.ScreenUpdating = True End Sub
Merci
SG
Partager