Sub CopieExtoVentes()
Dim DicoVentes As Object
Dim TabExp() As Variant
Dim TabToCopy() As Variant
Application.ScreenUpdating = False
Set DicoVentes = CreateObject("scripting.dictionary")
With Sheets("Ventes").ListObjects("t_Ventes")
For i = 1 To .ListRows.Count
clé = .DataBodyRange(i, 1)
If Not DicoVentes.exists(clé) Then
DicoVentes.Add clé, i
End If
Next i
End With
With Sheets("Export").ListObjects("t_Export")
TabExp = Application.WorksheetFunction.Transpose(.DataBodyRange.Value2)
End With
NbLignes = 0
For j = LBound(TabExp, 2) To UBound(TabExp, 2)
clé = TabExp(1, j)
If Not DicoVentes.exists(clé) Then
NbLignes = NbLignes + 1
ReDim Preserve TabToCopy(1 To 14, 1 To NbLignes)
For i = LBound(TabExp, 1) To UBound(TabExp, 1)
TabToCopy(i, NbLignes) = TabExp(i, j)
Next i
End If
Next j
If NbLignes <> 0 Then
With Sheets("Ventes").ListObjects("t_Ventes")
ind = .ListRows.Add.Index
.DataBodyRange(ind, 1).Resize(UBound(TabToCopy, 2), UBound(TabToCopy, 1)) = Application.WorksheetFunction.Transpose(TabToCopy) 'Application.WorksheetFunction.Transpose
End With
End If
Set DicoVentes = Nothing
Application.ScreenUpdating = True
End Sub