Option Explicit
Sub Test()
ListeCombi ActiveSheet.[B2].Resize(2000, 4), NbVal:=11, _
Pas:=200000, SMin:=300000, SMax:=1000000
End Sub
Sub ListeCombi(ByVal RngCible As Range, ByVal NbVal As Long, ByVal Pas As Double, ByVal SMin As Double, ByVal SMax As Double)
Dim T(), TC() As Double, L As Long, C As Long, N As Long, Q As Long, R As Long, S As Double, V As Double
ReDim TC(2 To RngCible.Columns.Count), T(1 To RngCible.Rows.Count, 1 To RngCible.Columns.Count)
N = -1
Do: N = N + 1
Q = N: S = 0
For C = UBound(T, 2) To 2 Step -1
R = Q Mod NbVal
V = Pas * R
TC(C) = V
S = S + V
Q = Q \ NbVal: Next C
If S = 0 And N > 0 Then Exit Do
If S >= SMin And S <= SMax Then
L = L + 1: T(L, 1) = N
For C = 2 To UBound(TC): T(L, C) = TC(C): Next C
End If
Loop Until L >= UBound(T, 1)
RngCible.Value = T
End Sub