Générateur de combinaisons
Bonjour à tous,
je cherche à faire un algorithme qui me produise toutes les combinaisons
d'un groupe d'éléments.
Par exemple si j'ai 1,2,3 et 4
Je voudrais obtenir :
1
2
3
4
1.2
1.3
1.4
2.3
2.4
3.4
1.2.3
1.2.4
2.3.4
1.2.3.4
(1.2 et 2.1 sont,pour moi, la même chose et ne m'interesse pas)
J'ai donc écris ceci:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| Dim NombreClient As Integer
Dim Client(100) As Integer
NombreClient = 5
For i = 1 To NombreClient
Client(i) = i
Next
Open App.Path & "\Resultat.txt" For Output As #1
Message = ""
Compteur = 0
For i = 1 To NombreClient
Message = Message & Client(i) & vbCrLf
Compteur = Compteur + 1
For b = i + 1 To NombreClient
Message = Message & Client(i) & Client(b) & vbCrLf
Compteur = Compteur + 1
For c = b + 1 To NombreClient
Message = Message & Client(i) & Client(b) & Client(c) & vbCrLf
Compteur = Compteur + 1
Next
Next
Next
Print #1, Message
Close #1
MsgBox Compteur & " combinaisons !!" & vbCrLf & vbCrLf & Message |
========================================================
ceci fonctionne sauf que je ne peux utiliser Client(i), Client(b) etc...,
car il faut que ce bout
de code soit en relatif, sinon si j'ai 3 clients je n'aurai pas le même code
que si j'en ai 4, etc....
Si je ne vous semble pas clair, je peux expliquer plus.
Merci d'avance,
Dany
[ Edité par ridan ] Veuillez utiliser les balises CODE :)