Comparer deux paires de données dans les deux sens
Bonjour à tous,
Voilà, je cherche et j'ai trouvé des bouts que j'arrive à adapter mais je n'arrive plus à aller aussi loin que je voudrais...
J'ai deux listes de paire (client/projet) que j'ai extraites sans doublon à partir de deux feuilles différentes.
donc une paire (Client/projet) issue d'une "première feuille" = liste A et une deuxième paire (Client/projet) issue d'une "deuxième feuille" = liste B, les deux recopiées sur une troisième feuilles.
Je veux comparer, ici uniquement les différences entre les deux paires ET dans les deux sens.
Je m'explique, aussi bien la paire non présente dans la liste B mais présente dans la liste A, comme la paire non présente dans la liste A mais présente dans la liste B.
J'arrive à faire dans un sens (première partie du code) mais pas dans l'autre sens (il se passe rien) :
Sub test1_2FACTURE_LISTE_UNIQUE_comparer()
Dim i&, a&, j&, b&, fin&
With Sheets("LISTE UNIQUE facture")
fin = .Range("A" & Rows.Count).End(xlUp).Row
For i = 4 To fin
For a = 4 To fin
If .Cells(i, 1) = .Cells(a, 4) Then
If .Cells(i, 2) = .Cells(a, 5) Then
GoTo 1
End If
End If
Next a
.Cells(i, 7) = .Cells(i, 1)
.Cells(i, 8) = .Cells(i, 2)
1 Next i
For j = 4 To fin
For b = 4 To fin
If .Cells(j, 4) = .Cells(b, 1) Then
If .Cells(j, 5) = .Cells(b, 2) Then
GoTo 2
End If
End If
Next b
.Cells(j, 9) = .Cells(b, 4)
.Cells(j, 10) = .Cells(b, 5)
2 Next j
End With
End Sub
L'idéal serait d'avoir toutes les différences (A abs dans B et B abs dans A) regroupées dans une seule et même liste, alors j'aimais bien ce bout de code, mais je n'arrive même pas à l'adapter pour une paire de colonnes :
Sub test2FACTURE_LISTE_UNIQUE_comparer()
[H:H] = ""
x = 1
For Each c In [B1:B1000]
If IsError(Application.Match(c, [E1:E1000], 0)) Then
Cells(x, "H") = c: x = x + 1
End If
Next
End Sub
Voilà si certain ont des suggestions, je suis toujours heureuse de comprendre comment ça marche...
Merci à tous
Bonjour
Pas sur d'avoir bien compris (d’où l'importance des exemples)
Bonjour Banzai,
Mille mercis! Je suis toujours aussi impressionnée par les possibilités de Excel!
C'est exactement ce que j'espérais. Pour la première solution, je vois que ma logique de répéter le code n'était pas fausse, mais j'étais pas assez attentive! (J'ai dû m'écarquiller les yeux ce matin pour voir mon erreur
La deuxième solution est parfaite! j'en espérais pas autant, mais c'est ce que je préfère, encore merci.
Je vais pouvoir me pencher dessus, histoire de déchiffrer (très modestement) tout ça.
Bonne journée.