Bonjour,
Je vous explique mon problème. Je travaille donc sous excel, en fait j'ai deux fichiers de données dans deux feuilles différentes avec une colonne commune. Ce que je souhaite réalisé c'est comparer ces deux colonnes et lorsque elle sont identiques copier les données de la deuxième feuille sur la première bien évidemment sur la ligne qu'elles ont en communes. J'ai réalisé une macro qui fonctionne sur quelques lignes mais pas sur mes données réelles.(1500 lignes)
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
 
Sub Comparer() 
Dim ws1 As Worksheet, ws2 As Worksheet, Maligne As Variant, Maligne2 As Variant, Macolonne As Variant, Macolonne2 As Variant, i2, i3, k, kk, z 
Set ws1 = Worksheets(1) 
Set ws2 = Worksheets(2) 
Set ws3 = Worksheets(3) 
Maligne = ws1.Range("A1").End(xlDown).Address 
Maligne = ws1.Range(Maligne).Row 
Maligne2 = ws2.Range("A1").End(xlDown).Address 
Maligne2 = ws2.Range(Maligne2).Row 
Macolonne = ws1.Range("A1").End(xlToRight).Address 
Macolonne = ws1.Range(Macolonne).Column 
Macolonne2 = ws2.Range("A1").End(xlToRight).Address 
Macolonne2 = ws2.Range(Macolonne2).Column 
With ws1 
'on parcours la colonne dans la première feuille 
For k = 1 To Maligne 
z = .Range("A" & k) 
'on parcours la colonne dans la deuxième feuille 
For kk = 1 To Maligne2 
'on compare avec la valeur de la première feuille 
If ws2.Range("A" & kk) = z Then 
i3 = Macolonne 
'on écrit les données correspondante 
For i2 = 2 To Macolonne2 
i3 = i3 + 1 
ws1.Cells(k, i3).Value = ws2.Cells(kk, i2).Value 
Next 
End If 
Next 
Next 
End With 
End Sub
Je pense que ce sont surement les 3 boucles imbriquées qui posent problème. En vous remerciant
Bonne journée