Comparer les cellules differentes de 2 feuilles

Fermé
HIGH - 2 oct. 2017 à 04:44
f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 - 2 oct. 2017 à 15:32
Bonjour!
ici je veux juste extraire toutes les valeurs de la feuille 1 introuvées dans la feuille 2, et les afficher dans la feuille3
Merci de m'assister!

Sub galopin()
Dim ws1 As Worksheet, ws2 As Worksheet, ws3 As Worksheet, ws4 As Worksheet, ws5 As Worksheet, i1, i2, i3, k, kk, z
Set ws1 = Worksheets(1)
Set ws2 = Worksheets(2)
Set ws3 = Worksheets(3)


'declaration des feuilles d'entree
i1 = ws1.Range("A1").End(4).Row
i2 = ws2.Range("A1").End(4).Row


With ws1
For k = 1 To i1
z = .Range("A" & k).Value

For kk = 1 To i2
' If z <> ws2.Range("A" & kk).Value Then
'ws3.Range("A" & i3 + 1) = z

'Here I want to copy all the A column of WS1 not found in WS2 column A, in the W3 column A

'z = ws1.Range("A" & k).Value
If Not (ws2.Range("A2:A65536").Find(z) Is Nothing) Then
ws3.Range("A" & i3 + 1).Value = z







i3 = i3 + 1
End If




Next
Next
End With
End Sub
A voir également:

1 réponse

f894009 Messages postés 17205 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 19 octobre 2024 1 709
2 oct. 2017 à 15:32
Bonjour,

un exemple de code a adapter:

Sub test()
    Set Plage1 = Worksheets("feuil1").Range("A1:A1000")
    Set Plage2 = Worksheets("feuil2").Range("A1:A1000")
    temps = Timer
    of7 = 2
    For n = 1 To 1000
        Nbre = Application.CountIf(Plage2, Plage1(n, 1))
        If Nbre = 0 Then Worksheets("feuil3").Cells(of7, 1) = Plage1(n, 1): of7 = of7 + 1
    Next n
    MsgBox Format(Timer - temps, "0.0000")
End Sub
0