Dim RngDonn As Range, TabDonnées() As Variant, LDonn As Long, Dic As New Dictionary, _
TabDoublon(), LDoub As Long, TabImport(), LImpt As Long, C As Integer
Set RngDonn = Workbooks(tata).Sheets("toto").Cells(2, 1).Resize(LastRwRéf - 1, 50)
TabDonnées = RngDonn.Value
ReDim TabDoublon(1 To UBound(TabDonnées, 1), 1 To 4), TabImport(1 To UBound(TabDonnées, 1), 1 To 4)
For LDonn = 1 To UBound(TabDonnées, 1)
If Dic.Exists(TabDonnées(LDonn, ColonneRef)) Then
LDoub = LDoub + 1
For C = 1 To 4: TabDoublon(LDoub, C) = TabDonnées(LDonn, Choose(C, ColonneArt, ColonneRef, ColonneDate, ColonneQTY)): Next C
Else
Dic.Add TabDonnées(LDonn, ColonneRef), Empty
LImpt = LImpt + 1
For C = 1 To 4: TabImport(LImpt, C) = TabDonnées(LDonn, Choose(C, ColonneArt, ColonneRef, ColonneDate, ColonneQTY)): Next C
Rng.Rows(LDonn + 1).Interior.Color = vbGreen
End If
Next LDonn