Salut, je ne sais pas si ça te convient mais j'ai retrouvé un de mes bout de code écrit en VB6 avec une form et un commandbutton (mais ça peut surement marcher en vb.net) qui trouve toutes les combinaisons possibles d'un tableau à une dimension et n éléments avec exclusion des valeurs déjà connues (ici, j'ai limité le nombre d'éléments à 3 - en rouge -) :
'déclaration des tableaux utilisés
Dim tablo_origine() As Integer
Dim tablo_test() As Boolean
Dim tablo_resultat() As Integer
Private Sub Command1_Click()
Dim i As Integer, nElements As Integer
'dimensionnement du tableau d'origine et remplissage
ReDim tablo_origine(3)
nElements = UBound(tablo_origine)
For i = 0 To nElements
tablo_origine(i) = i
Next
'dimensionnement des tableaux test et résultat
ReDim tablo_test(nElements)
ReDim tablo_resultat(0)
'lancement de la procédure récursive
test 0
End Sub
Sub test(n As Integer)
Dim i As Integer, i1 As Integer
Dim s As String
For i = 0 To UBound(tablo_origine)
'si valeur non sélectionnée
If tablo_test(i) = False Then
tablo_resultat(n) = tablo_origine(i)
'si on a parcourru tout le tableau d'origine
If n = UBound(tablo_origine) Then
'on construit la chaine d'affichage
s = ""
For i1 = 0 To n
s = s & tablo_resultat(i1)
Next
'on affiche la chaine
MsgBox s
'sinon, on relance la procédure récursive
Else
'on coche la valeur déjà choisie
tablo_test(i) = True
'on prépare le tableau résultat
ReDim Preserve tablo_resultat(n + 1)
'on relance la procédure
test UBound(tablo_resultat)
'on rétablit le tableau résultat d'avant
ReDim Preserve tablo_resultat(n)
'on décoche la valeur déjà choisie
tablo_test(i) = False
End If
End If
Next
End Sub
Si tu as des questions, je reste à l'écoute.