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 : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager