Eliot7500
Messages postés18Date d'inscriptiondimanche 22 décembre 2013StatutMembreDernière intervention 4 janvier 2014
-
30 déc. 2013 à 12:10
jordane45
Messages postés38241Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention17 septembre 2024
-
30 déc. 2013 à 16:20
Bonjour,
J'ai créer un formulaire avec des cartes qui s'affiche en fonction d'un nombre aléatoire. J'indique le total des cartes du joueur et du dealer dans deux Textbox. Je souhaite effectuer des contrôles sur ces Textbox afin de savoir qui a gagné. Pour cela j'ai créer un bouton de commande qui effectue les différents contrôles. Cependant cela ne fonctionne pas. J'ai mis différentes conditions ( les 2 dernières ne fonctionnent pas, en effet je n'ai pas de msg box lorsque la condition devrait être bonne).
If TextBox3.Value = 21 Then MsgBox "Blackjack" If TextBox3.Value = TextBox4.Value Then MsgBox "match nul" If TextBox4.Value > 21 Then MsgBox "Vous avez gagné" If 17 <= TextBox4.Value And TextBox4.Value <= 21 And TextBox4.Value < TextBox3.Value Then MsgBox "Vous avez gagné" If 17 <= TextBox4.Value And TextBox4.Value <= 21 And TextBox4.Value > TextBox3.Value Then MsgBox "Vous avez perdu" end if end if end if end if end if
jordane45
Messages postés38241Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention17 septembre 2024345 30 déc. 2013 à 14:55
Bonjour,
En général on teste si une variable est <= à un nombre et non pas l'inverse....
donc.. ton 17<= TextBox3.value.... ne me plait pas vraiment et est très certainement la cause de ton souci..
Par contre, je t'invite à tester le code suivant (qui utilise un SELECT CASE plutot que des IF en pagaille...)
Sub blackJack()
Dim msg As String
Dim Win As String
Dim Loose As String
Dim blackJ As String
Win = "Vous avez gagné !"
blackJ = " BLACKJACK !!!"
Loose = " Vous avez PERDU !"
matchNul = "Mach nul"
joueur1 = TextBox4.Value
dealer = TextBox3.Value
If joueur1 > 21 Then
msg = Loose
Else
Select Case True
Case joueur1 = 21
msg = (Win & blackJ)
Case joueur1 > dealer
msg = Win
Case joueur1 = dealer
msg = matchNul
Case joueur1 < dealer And dealer < 21
msg = Loose
Case Else
If dealer > 21 Then
msg = Win
End If
End Select
Debug.Print msg
End If
End Sub