01net    Web


Actuellement en ligne : 33 Utilisateurs >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par PC-Conseil, Helger  
L'Ordinateur Individuel > Forum de L'Ordinateur Individuel > Programmation
> A l'aide !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Auteur
Message
 
<     1       >
étudiantesendetresse
  
   
  Posté le 14/05/2008 17:39:56       ?   @    
Bonjour à tous !!!
Nous sommes étudiantes à Lille et nous avons a programme vba sur excel à réaliser. Nous rencontrons de nombreux problèmes notamment celui ci
Le but du jeu est de trouver le nombre mystère (v1) avec 8 tentatives.
Nous souhaitons qu'après chaque essai, le joueur sache le nbre de parties qu'il lui reste et ns souhaitons également afficher en fin de partie le nombre qui était à trouver. MERCIIIIIIIIIIIIIIIIIIII
Voici le programme :

Private Sub CommandButton1_Click()
gagné = False
For i = 1 To 8
Dim v1 As Integer
Dim v2 As Integer
v1 = 36
v2 = InputBox("donnez un nombre")
If v2 < v1 Then MsgBox ("trop petit")
If v2 > v1 Then MsgBox ("trop grand")
If 1 < i < 8 Then MsgBox ("tente encore ta chance !! nombre de parties restantes") ([color=#ff1800][/color]Nous souhaitons ajouter le nbre de parties restantes)
If v2 = v1 Then
MsgBox ("gagné")
gagné = True
i = 8
End If
Next i
MsgBox ("fin de la partie")
If gagné = True Then MsgBox ("félicitation")
If gagné = False Then MsgBox ("perdu")
MsgBox ("le nombre à trouver était")
End Sub
ar barzh paour
  OKeltia ,ar mor a glemm fennoz
   
  Posté le 14/05/2008 21:19:49       ?   @    
il faut bien utiliser la structure if then else qui devient vite compliquée quand on imbrique plusieurs if les uns dans les autres
une solution
Sub jeu()
Dim v1 As Integer
Dim v2 As Integer
Dim titre As String
Dim suite As String
v1 = 36
titre = "Nombre mystère" ' pour faire plus joli

For i = 1 To 8
v2 = InputBox("donnez un nombre", titre)
If v2 = v1 Then

If i = 1 Then MsgBox "BRAVO gagné en 1 coup",,titre Else MsgBox "gagné en " & i & " coups",,titre
MsgBox "fin de la partie",,titre
Exit Sub

Else
If i < 8 Then suite = " tente encore ta chance !! nombre de parties restantes : " & 8 - i Else suite = ""

If v2 < v1 Then
MsgBox "trop petit" & suite, , titre
Else
MsgBox "trop grand" & suite, , titre
End If

End If

Next i

MsgBox "le nombre à trouver était : " & v1, , titre

End Sub

il est inutile de mettre les dim v1 et v2 dans la boucle for i=1 to 8 , il suffit de les déclarer une fois

celà convient-il ? on peut faire mieux !





-->Message édité par ar barzh paour le 14/05/2008 21:31:38<--
étudiantesendetresse
  
   
  Posté le 18/05/2008 14:18:31       ?   @    
Merci bcp !
Par contre que signifie les termes String, titre et suite ????
A quoi ça sert ?
Encore Merci
Helger
  Tout simplement
  :-)
  Posté le 19/05/2008 22:44:39       ?   ^   @    
Hello.

titre et suite sont des variables de type string (Chaine).
Plus facile à traiter que de mettre le tout en dur.
Exemple : titre. Répété cinq fois dans le code. Mettre cinq fois "Nombre mystère" est un plus pénible que de mettre cette phrase dans une variable et de d'appeler celle-ci cinq fois.

;)

;)
-------
Hypocrite lecteur, mon semblable, mon frère
Nous avons dit souvent d'impérissables choses


[:fbc:4][:fbc:5][:fbc:6][:fbc:7]
<     1       >

L'Ordinateur Individuel > Forum de L'Ordinateur Individuel > Programmation
> A l'aide !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Aller à :

Page générée en : 0.183s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

> paru le 01/10/2008