Comparaison dans Excel
Bonjour,
Voici mon problème:
Je veux faire la comparaison entre 2 fichiers txt dans excel.
J'ai 2 boutons:
1- Import File 1 - Fonctionnel, il va chercher un fichier txt, l'importe dans excel le en ordre.
2- Import File 2 - Fonctionnel, il fait la meme chose que "Import File 1" et ferme les 2 classeurs tempo.
Maintenant, ce que je n'arrive pas.
Je veux savoir comparer l'item (colonne #SAP) et la quantité (colonne QTY)
et afficher le resultat dans la colonne "RESULTS"
Dans mon exemple si joint, je dois recevoir comme résultat
BD202000 REMOVE 1
CP000020 REMOVE 1
CP000021 Added 1x
SB000006 REMOVE 1
CP000021 Added 1x
Merci a l'avance !
Bonjour,
à tester,
Sub compare()
Dim i As Long, k As Long, liste1, liste2, y As Integer
Dim a As Integer, n As String
Dim res()
k = Sheets("TxT Compare").Cells(Rows.Count, 2).End(xlUp).Row
liste1 = Range("B7:F" & k).Value
liste2 = Range("H7:L" & k).Value
For i = 1 To k - 6
For y = 1 To 5
If liste1(i, y) = liste2(i, y) Then n = n & 1 Else n = n & 0
Next y
Select Case n
Case "11011": a = a + 1: ReDim Preserve res(a): res(a) = liste1(i, 2) & " REMOVE 1"
Case "10110": a = a + 1: ReDim Preserve res(a): res(a) = liste1(i, 2) & " REMOVE 1"
Case "10111": a = a + 1: ReDim Preserve res(a): res(a) = liste1(i, 2) & " REMOVE 1"
a = a + 1: ReDim Preserve res(a): res(a) = liste2(i, 2) & " Added 1x"
End Select
n = ""
Next
Sheets("TxT Compare").[A7].Resize(UBound(res) + 1) = Application.Transpose(res)
End SubMerci pour la réponse, mais les Remove et Added doivent aller selon la quantité comparer.
Si je change une quantité, les removes et Added reste a 1.
Re,
à tester,
Sub compare()
Dim i As Long, k As Long, liste1, liste2, y As Integer
Dim a As Integer, n As String
Dim res()
k = Sheets("TxT Compare").Cells(Rows.Count, 2).End(xlUp).Row
liste1 = Range("B7:F" & k).Value
liste2 = Range("H7:L" & k).Value
For i = 1 To k - 6
For y = 1 To 5
If liste1(i, y) = liste2(i, y) Then n = n & 1 Else n = n & 0
Next y
Select Case n
Case "11011": a = a + 1: ReDim Preserve res(a): res(a) = liste1(i, 2) & " REMOVE " & liste1(i, 3)
Case "10110": a = a + 1: ReDim Preserve res(a): res(a) = liste1(i, 2) & " REMOVE " & liste1(i, 3)
Case "10111": a = a + 1: ReDim Preserve res(a): res(a) = liste1(i, 2) & " REMOVE " & liste1(i, 3)
a = a + 1: ReDim Preserve res(a): res(a) = liste2(i, 2) & " Added " & liste2(i, 3)
End Select
n = ""
Next
Sheets("TxT Compare").[A7].Resize(UBound(res) + 1) = Application.Transpose(res)
End Sub