M
maxxuknow
Guest
Bonjour, j'ai un code qui me permet de faire la combinaison de chiffre, cependant, lorsque j'arrive à 50 et 7 colonnes, ca ne fonctionne pas. (erreur de mémoire). Existe-t-il une facon de corriger ca? Aussi, j'aimerais ne pas avoir de suite de plus de 2 chiffres, mais j'ai essayer pendant des heures sans succès..
Merci d'Avance,
Max
Sub toto_7()
Dim a&, i&, j&, k&, l&, m&, n&, o&, z&
Dim oDat, sDat(), u&
a = 7
ReDim v(1 To a - 1)
[C1].Resize([C1].End(xlDown).Row, WorksheetFunction.Min(7, [C1].End(xlToRight).Column)).ClearContents
Application.ScreenUpdating = False
oDat = [A1].Resize([A1].End(xlDown).Row, 1).Value
u = UBound(oDat, 1)
For i = 1 To 1
v(1) = oDat(i, 1)
For j = i + 1 To u
v(2) = oDat(j, 1)
For k = j + 1 To u
v(3) = oDat(k, 1)
For l = k + 1 To u
v(4) = oDat(l, 1)
For m = l + 1 To u
v(5) = oDat(m, 1)
For n = m + 1 To u
v(6) = oDat(n, 1)
For o = n + 1 To u
z = z + 1
ReDim Preserve sDat(1 To a, 1 To z)
sDat(1, z) = v(1)
sDat(2, z) = v(2)
sDat(3, z) = v(3)
sDat(4, z) = v(4)
sDat(5, z) = v(5)
sDat(6, z) = v(6)
sDat(7, z) = oDat(o, 1)
Next o
Next n
Next m
Next l
Next k
Merci d'Avance,
Max
Sub toto_7()
Dim a&, i&, j&, k&, l&, m&, n&, o&, z&
Dim oDat, sDat(), u&
a = 7
ReDim v(1 To a - 1)
[C1].Resize([C1].End(xlDown).Row, WorksheetFunction.Min(7, [C1].End(xlToRight).Column)).ClearContents
Application.ScreenUpdating = False
oDat = [A1].Resize([A1].End(xlDown).Row, 1).Value
u = UBound(oDat, 1)
For i = 1 To 1
v(1) = oDat(i, 1)
For j = i + 1 To u
v(2) = oDat(j, 1)
For k = j + 1 To u
v(3) = oDat(k, 1)
For l = k + 1 To u
v(4) = oDat(l, 1)
For m = l + 1 To u
v(5) = oDat(m, 1)
For n = m + 1 To u
v(6) = oDat(n, 1)
For o = n + 1 To u
z = z + 1
ReDim Preserve sDat(1 To a, 1 To z)
sDat(1, z) = v(1)
sDat(2, z) = v(2)
sDat(3, z) = v(3)
sDat(4, z) = v(4)
sDat(5, z) = v(5)
sDat(6, z) = v(6)
sDat(7, z) = oDat(o, 1)
Next o
Next n
Next m
Next l
Next k
Pièces jointes
Dernière modification par un modérateur: