Quelques petites erreurs dans mon programme

JustineFrance

XLDnaute Nouveau
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
 

Papou-net

XLDnaute Barbatruc
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.
 

pierrejean

XLDnaute Barbatruc
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 !!!)
 

JustineFrance

XLDnaute Nouveau
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

  • Questions VBA.xlsm
    33.6 KB · Affichages: 46

Papou-net

XLDnaute Barbatruc
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

  • Copie de Questions VBA.xlsm
    15.5 KB · Affichages: 54

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 812
dernier inscrit
abdouami