Quelques petites erreurs dans mon programme

  • Initiateur de la discussion Initiateur de la discussion JustineFrance
  • 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 !

J

JustineFrance

Guest
Bonjour à tous, je m'excuse d'avance pour la longue macro ci-dessus. Mais voilà, ça fait quelques temps que je travail sur ce petit jeu de questions, qui malgré tous mes efforts ne fonctionnent toujours pas. Après lecture et relecture, je n'arrive pas à trouver mes erreurs. Merci de votre aide !

Option Explicit
Public numero(1 To 5) As Integer
Public Question(1 To 5) As String
Public reponse(1 To 5) As Integer

Function init_Question()
Question(1) = " 1- Qui occupait ce rôle de sélectionner en 1998 pour les bleus ? " & vbNewLine & vbNewLine & " 1 = aimé jacquet 2 = marc 3 = didier deschamps 4 = eduard pierre"
reponse(1) = 1
Question(2) = " 2- qui a consécutivement été élu ballon d'or en 1983, 1984 et 1985 ? ?" & vbNewLine & vbNewLine & " 1 = zinedine zidane 2 = franck ribery 3 = michel platini 4 = messi "
reponse(2) = 3
Question(3) = " Qui a reçu un carton rouge lors de la finale du mondial 2006 ?" & vbNewLine & vbNewLine & " 1 = zinedine zidane 2 = karim benzema 3 = samir nasri 4 = hugo lloris "
reponse(3) = 1
Question(4) = " 4- En 1984, lors des jeux olympiques d'Été à Los Angeles, quelle médaille la France a-t-elle remporté ?" & vbNewLine & vbNewLine & " 1 = médaille d'ardent 2 = médaille de bronze 3 = médaille d'or 4 = rien"
reponse(4) = 3
Question(5) = " 5- En quelle année a été créé l'équipe de France de football ? " & vbNewLine & vbNewLine & " 1 = 1984 2 = 1910 3 = 1904 4 = 1899 "
reponse(5) = 3
End Function

Function retour_question(num As Integer) As Integer
retour_question = reponse(num)
End Function

Function trouvéNumQestion(numero As Integer) As Integer
Dim i, nbalea, chiffre As Integer
nbalea = Int(Rnd() * 2) + 1

Select Case nbalea
Case 1
chiffre = numero
Case 2
chiffre = numero + 5
Case 3
chiffre = numero + 5
End Select
trouvéNumQestion = chiffre
End Function

Sub questionpourchampion()
Dim rep, point_depart, point_actuel, point As Integer
Dim numeroQ, i As Integer
Dim n As Integer

Call init_Question
point_depart = 0
point_actuel = point_depart
point = 1

For i = 1 To 10
numeroQ = rechercherNumQestion(i)
rep = InputBox(Question(numeroQ))

If rep = reponse(numeroQ) Then
MsgBox (" Bonne réponse : 1 point" & point_actuel & "pt")
Else
point_actuel = point_actuel + 0
MsgBox (" Mauvaise réponse : 0 " & point_actuel & " pt")

End If
End Sub
Etudiant_info
Nouveau venu


Messages: 3
Inscription: 28 Avr 2013, 15:53
Version Excel: 2010
 
Re : Quelques petites erreurs dans mon programme

Bonjour JustineFrance,

Impossible de répondre à ta demande dans sa formulation imprécise.

Si tu veux augmenter tes chances d'être aidée, il serait mieux pour tout le monde que tu joignes un fichier exemple et que tu expliques clairement ce qui ne fonctionne pas.

A +

Cordialement.
 
Re : Quelques petites erreurs dans mon programme

Bonjour Justine

Une lecture rapide de ta macro me dit que ton projet n'a pas de caractère confidentiel
Si c'est vrai tu peux peut-être mettre un fichier exemple ?
Je t'assure que cela portera ses fruits

Edit: Salut Papou-net (je plussoie vigoureusement !!!)
 
Re : Quelques petites erreurs dans mon programme

Tout d'abord, merci de votre prise d'intérêt pour mon petit problème.
Je vous envoie le fichier excel, ce qui pourra sans doute vous permettre d'y voir plus claire!
Je ne l'avais pas préciser mais l'objectif de ma macro est de poser 5 questions à un individu, chaque bonne réponse rapporte 1 point !

Merci,
Justine
 

Pièces jointes

Re : Quelques petites erreurs dans mon programme

Bonjour Justine,

Bien que ta question n'étant toujours pas exprimée clairement, une rapide analyse de ton code m'a permis de constater que tu fais appel à une procédure qui n'existe pas (numeroQ = rechercherNumQuestion(i)). j'ai donc mis cette ligne en commentaire.

Ensuite, j'ai corrigé de petites erreurs notamment la plage de la boucle qui doit être limitée à 5 au lieu de 10.

Je ne sais pas si le résultat de ces modifications te conviendre, toujours est-il que la macro fonctionne parfaitement à présent.

Tu constateras par ailleurs que j'ai ajouté le n° de question en titre des fenêtres de messages.

A +

Cordialement.
 

Pièces jointes

- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
448
Réponses
5
Affichages
748
Retour