Sub concat2()
'http://www.excel-downloads.com/forum/206244-concatenation-infinie.html#post1290012
Dim n&, m&, P&, L&, Tot&, NbCol&
Dim Tablo1 As Variant, Tablo2 As Variant
Dim Debut!
Debut = Timer
With Sheets("data")
Tablo1 = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(3))
Tablo2 = .Range(.Cells(2, 2), .Cells(.Rows.Count, 2).End(3))
End With
Tot = UBound(Tablo1, 1) * UBound(Tablo2, 1)
NbCol = Int(Tot / Rows.Count) + 1
ReDim tabres(1 To Rows.Count - 2, 1 To NbCol)
P = 1: L = 1
For n = LBound(Tablo1, 1) To UBound(Tablo1, 1)
For m = LBound(Tablo2, 1) To UBound(Tablo2, 1)
tabres(L, P) = Tablo1(n, 1) & " " & Tablo2(m, 1)
L = L + 1
If L > UBound(tabres, 1) Then
P = P + 1
L = 1
End If
Next m
Next n
Application.ScreenUpdating = False
With Sheets("Resultat")
'.UsedRange.ClearContents 'en cas d'utilisation multiple
.Range("A1").Resize(UBound(tabres, 1), UBound(tabres, 2)) = tabres
'.Columns.AutoFit 'en cas d'utilisation multiple
End With
Application.ScreenUpdating = True
MsgBox (Timer - Debut)
End Sub