Calcul toutes les combinaisons possibles sur un maximum de 8 éléments
Taper dans les cellules A1 jusqu'à H1 une série de 8 éléments (Chiffre ou texte).
ATTENTION ! ne dépasser pas 8 éléments ce qui conduit déjà à 40320 permutations. Excel 97 ne dispose que de 65536 lignes.
et pour les versions antérieures que 7 ce qui conduit à 5040 lignes pour 16384 lignes disponibles...
Sélectionner la série que vous désirez et exécuter la macro : RunCombinaison.
Vous pouvez ne sélectionner que les cellules de A1 à C1 ou D1 à F1...etc...
Option Base 1
Dim Combine(10)
Sub RunCombinaison()
For Each Chif In Selection
i = i + 1
Combine(i) = Chif
Next
CalculCombine Combine, i, 0
End Sub
Sub CalculCombine(Combine As Variant, Result, Traitement)
Application.ScreenUpdating = False
Dim Combine2(10)
If Result < 1 Then
Selection.Offset(1, 0).Activate
Selection.Value = Combine
Else
For i = 1 To Result
z = Combine(i)
For j = 1 To Result + Traitement - 1
Combine2(j) = Combine(j + (j >= i) * -1)
Next j
Combine2(j) = z
CalculCombine Combine2, Result - 1, Traitement + 1
Next i
End If
End Sub
[top]