Bonjour, je fais appel à vos service afin résoudre un petit problème.

Je réalise un projet sur vba sur le jeu du Yahtzee. Le jeu est assez simple, on lance 5 dés au hasard en espérant faire la meilleure combinaison possible (brelan, full, suite,etc...). Pour créer les 5 dés j'ai donc fait :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Dim d1 As Integer
Dim d2 As Integer
Dim d3 As Integer
Dim d4 As Integer
Dim d5 As Integer
puis pour que les dés soient de 1 à 6 et pour voir les résultats:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
d1 = Int(Rnd() * 5 + 1)
d2 = Int(Rnd() * 5 + 1)
d3 = Int(Rnd() * 5 + 1)
d4 = Int(Rnd() * 5 + 1)
d5 = Int(Rnd() * 5 + 1)
 
MsgBox ("Vos résultats sont : " & d1 & " ," & d2 & " ," & d3 & " ," & d4 & " ," & d5)
Enfin au niveau des combinaisons voici par exemple ce que j'ai fait si on obtenait un full:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
If ((d1 = d2) And (d2 = d3) And (d4 = d5)) Or ((d1 = d2) And (d2 = d4) And (d3 = d5)) Or ((d1 = d2) And (d2 = d5) And (d3 = d4)) Or ((d1 = d3) And (d3 = d4) And (d2 = d5)) Or ((d1 = d3) And (d3 = d5) And (d2 = d4)) Or ((d1 = d4) And (d4 = d5) And (d2 = d3)) Or ((d2 = d3) And (d3 = d4) And (d5 = d1)) Or ((d2 = d4) And (d4 = d5) And (d3 = d1)) Or ((d3 = d4) And (d4 = d5) And (d1 = d2)) Then
    MsgBox ("Bravo vous avez fait un Full")
Vous l'aurez compris ma méthode a été de réunir toutes les solutions possibles de full

Mon problème est que je ne trouve pas le moyen de réunir toutes les solutions pour obtenir une suite de 4 chiffres (1,2,3,4 ou 2,3,4,5 ou 3,4,5,6)
voici ce que j'ai essayé de faire :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
If ((d1 Or d2 Or d3 Or d4 Or d5 = 1) And (d1 Or d2 Or d3 Or d4 Or d5 = 2) And (d1 Or d2 Or d3 Or d4 Or d5 = 3) And (d1 Or d2 Or d3 Or d4 Or d5 = 4) And (d1 And d2 And d3 And d4 And d5 <> 5)) Or ((d1 Or d2 Or d3 Or d4 Or d5 = 2) And (d1 Or d2 Or d3 Or d4 Or d5 = 3) And (d1 Or d2 Or d3 Or d4 Or d5 = 4) And (d1 Or d2 Or d3 Or d4 Or d5 = 5) And (d1 And d2 And d3 And d4 And d5 <> 1) And (d1 And d2 And d3 And d4 And d5 <> 6)) Or ((d1 Or d2 Or d3 Or d4 Or d5 = 3) And (d1 Or d2 Or d3 Or d4 Or d5 = 4) And (d1 Or d2 Or d3 Or d4 Or d5 = 5) And (d1 Or d2 Or d3 Or d4 Or d5 = 6) And (d1 And d2 And d3 And d4 And d5 <> 2)) Then
 
    MsgBox ("Bravo vous avez fait une suite")
En gros pour la suite 1,2,3,4 j'ai écris que d1 ou d2 ou d3 ou d4 devrait être égale à 1 ou 2 ou 3 ou 4 mais pas à 5 car sinon on aurait une suite de 5 chiffres, et j'ai recommencé pour les 2 autres suites de 4 chiffres possibles.

Voilà, j'espère que vous trouverez la solution, ou peut être une méthode plus simple

Merci d'avance pour votre aide !