Sub comnbinaisons1()
num1 = Array(1, 2, 4, 9, 20, 40, 41)
num2 = Array(3, 5, 8, 15, 43, 44, 45)
num3 = Array(6, 12, 18, 23, 35, 37)
num4 = Array(10, 7, 16, 19, 38, 39, 40)
num5 = Array(31, 32, 33, 34, 42, 25, 26, 27, 28)
rc = Rows.Count
lignes = (UBound(num1) + 1) * (UBound(num2) + 1) * (UBound(num3) + 1) * (UBound(num4) + 1) * (UBound(num5) + 1)
col = Int(lignes / rc) + 1
If col > 1 Then
lig = rc
Else
lig = lignes
End If
Dim tablo()
ReDim tablo(1 To lig, 1 To col)
ligne = 1
coln = 1
For n1 = LBound(num1) To UBound(num1)
For n2 = LBound(num2) To UBound(num2)
For n3 = LBound(num3) To UBound(num3)
For n4 = LBound(num4) To UBound(num4)
For n5 = LBound(num5) To UBound(num5)
tablo(ligne, coln) = num1(n1) & " " & num2(n2) & " " & num3(n3) & " " & num4(n4) & " " & num5(n5)
ligne = ligne + 1
If ligne > rc Then
ligne = 1
coln = coln + 1
End If
Next
Next
Next
Next
Next
Range(Cells(1, 1), Cells(lig, col)).Value = tablo
End Sub