• Initiateur de la discussion Initiateur de la discussion juju782
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

juju782

XLDnaute Nouveau
Bonjour

dans un exo on me demande:

Question 1:
Ecrire un programme qui lors de son exécution:
1- Attribue à deux variables x et y une valeur entière tirée au hasard comprise entre 0 et 49
2- Affiche ces valeurs à l'utilisateur en lui demandant quelle est la plus petite, et recueille
sa réponse.
3- puis affiche «bonne réponse!» ou «mauvaise réponse!» selon la réponse de
l'utilisateur.

j'ai fais:

Sub macro()
Dim x As Integer
Dim y As String
x = Int(Rnd() * 50)
y = Int(Rnd() * 50)
MsgBox (" x vaut " & " " & x & " " & "et y vaut " & " " & y)

MsgBox ("quelle est la plus petite valeur?")

mais après je bloque, comment savoir si l'utilisateur a juste ou non ?
 
Re : Macro

Salut,
au lieu de msgboxMsgBox ("quelle est la plus petite valeur?")
ecris
rep=inputbox("quelle est la plus petite valeur ?")
if (y>x and val(rep)=x) or (y<x and val(rep)=Y) then
msgbox "bonne reponse !"
else
msgbox "Mauvaise reponse !"
end if

Voilà
@+ Dudu
 
Re : Macro

Bonjour Juju, Dudu

une autre solution, pour le fun :

Code:
Option Explicit
Sub test()
Dim x As Integer, y As Integer, confirm As Integer
'initialise le générateur de nombre aléatoire
Randomize
x = Int(Rnd * 50)
'une boucle pour éviter l'égalité
Do
    y = Int(Rnd * 50)
Loop While y = x
confirm = MsgBox(IIf(x > y, x & " est supérieur à " & y & " ?", x & " est inférieur à " & y & " ?"), vbYesNo)
If confirm = 6 Then MsgBox "Gagné !!!" Else MsgBox "Perdu !!!"
End Sub

ou pour demander la plus petite :
Code:
confirm = MsgBox(IIf(x > y, y & " est inférieur à " & x & " ?", x & " est inférieur à " & y & " ?"), vbYesNo)
If confirm = 6 Then MsgBox "Gagné !!!" Else MsgBox "Perdu !!!"

bonne journée
@+
 
Dernière édition:
Re : Macro

Re

un peu plus court :

Code:
Option Explicit
Sub test()
Dim x As Integer, y As Integer
'initialise le générateur de nombre aléatoire
Randomize
x = Int(Rnd * 50)
'une boucle pour éviter l'égalité
Do
    y = Int(Rnd * 50)
Loop While y = x
If MsgBox(IIf(x > y, x & " est supérieur à " & y & " ?", x & " est inférieur à " & y & " ?"), vbYesNo) _
    = 6 Then MsgBox "Gagné !!!" Else MsgBox "Perdu !!!"
End Sub

ou :

Code:
If MsgBox(IIf(x > y, y & " est inférieur à " & x & " ?", x & " est inférieur à " & y & " ?"), vbYesNo) _
    = 6 Then MsgBox "Gagné !!!" Else MsgBox "Perdu !!!"

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
786
Réponses
3
Affichages
889
Réponses
3
Affichages
1 K
Compte Supprimé 979
C
Retour