Titre du sujet : Re: Faire concorder les données par myDearFriend! le 04/01/2010 16:25:20
Bonjour Slimbad, Guy, le Forum,
Meilleurs voeux pour cette nouvelle année !
Si j'ai bien compris, en pièce jointe, peut-être une réponse à ta question...
J'ai utilisé la procédure VBA suivante :
Option Explicit
' myDearFriend! - www.mdf-xlpages.com
Sub Traitement()
Dim TabA As Variant, TabB As Variant
Dim L As Long, L1 As Long
With Sheets("Feuil1")
'Mémorise les données en colonne A
L = .Cells(.Rows.Count, 1).End(xlUp).Row
TabA = .Range(.Cells(2, 1), .Cells(L, 1)).Value
'Mémorise les données en colonne B et l'efface
L = .Cells(.Rows.Count, 2).End(xlUp).Row
With .Range(.Cells(2, 2), .Cells(L, 2))
TabB = .Value
.ClearContents
End With
'Pour chaque élément de la colonne B
On Error Resume Next
For L = 1 To UBound(TabB, 1)
'Cherche la correspondance en A
L1 = Application.Match(TabB(L, 1), TabA, 0)
If L1 > 0 Then
'MAJ colonne B
.Cells(L1 + 1, 2).Value = TabB(L, 1)
L1 = 0
Else
'Archive les non-correspondances en Feuil2
With Sheets("Feuil2")
.Cells(.Cells(.Rows.Count, 1).End(xlUp).Row + 1, 1).Value = TabB(L, 1)
End With
End If
Next L
End With
MsgBox "Redistribution terminée !", vbOKOnly + vbInformation, "myDearFriend! - www.mdf-xlpages.com"
End Sub
Dans le doute, ce code archive en Feuil2 les éléments de la colonne B n'ayant pas trouvé correspondance.
Bien cordialement,
|