Comment créer une variable globale + amélioration de ce code ?

beegees

XLDnaute Occasionnel
Bonjour tout le monde,

J'ai créé un petit bout de code qui permet de jouer au nombre mystère (l'ordi choisit un nombre et on essaie de le deviner en un minimum d'essais) :

Code:
Public nbre_tours As Integer
Sub Nombre_mystere()
    '1) affecter à une variable le nombre mystère
    '2) Lancer une inputBox pour demander d'encoder un nombre
    '3) Vérifier si c'est le bon
    '4) Si c'est le bon, on affiche une msgbox avec le nombre de tentative
    '5) Si ce n'est pas le bon, on incrémente le nombre de fois de 1 et on ré-affiche l'input box
    
    'obligatoire pour créer un nombre aléatoire
    Randomize
    
    'déclation des variables
    Dim Nombre_mystere As Integer, ma_proposition As Integer
    Dim titre As String, commentaire As String
    
    'Affectation des valeurs aux variables
    Nombre_mystere = (Rnd * 10)
    MsgBox (Nombre_mystere)
    nbre_tours = 0
    
    Do
        'je change le titre par rapport au nombre de fois que je suis passé dans la boucle
        If nbre_tours > 0 Then
            titre = "Essayez à nouveau"
        Else
            titre = "Encodez un nombre"
        End If
        
        ma_proposition = InputBox("Veuillez entre un nombre entier", titre)
        nbre_tours = nbre_tours + 1
        
    Loop While ma_proposition <> Nombre_mystere
    
    
    Select Case nbre_fois
        Case Is = 1
            commentaire = "Félicitation, vous êtes très fort !"
            Case Is = 2
                commentaire = "Pas mal, vous pourez bientôt passer pro !"
            Case 3 To 5
                commentaire = "Encore un peu d'entrainemt..."
            Case 6 To 9
                commentaire = "Encore beaucoup d'entrainement"
            Case Else
                commentaire = "Laissez tomber, ce jeu n'est pas fait pour vous"
    End Select
    
    MsgBox "vous avez trouvé le nombre mystère en " & nbre_tours & " fois " & Chr(10) & commentaire
    
End Sub

1) Quand je sorts du Loop While, ma variable nbre_tours est toujours vide, savez-vous me dire comment je peux créer une variable globale svp ?
2) pensez-vous que je puisse améliorer ce code ?

Merci d'avance pour votre aide et bon 14 juillet.

bee
 

fanfan38

XLDnaute Barbatruc
Re : Comment créer une variable globale + amélioration de ce code ?

Bonjour
Ce code est bien et personnellement le nombre de tours s'incremente bien
Par contre (et oui il y a un mais...lol)
dans ton select case tu as mis nbre_fois au lieu de nbre_tours...
ceci explique cela...
Si tu avais mis "Option Explicit" en haut de ton module tu aurai vu l'erreur
il n'ai pas nécessaire de déclarer nbre_tours en public (vu qu'il n'y a qu'une macro...
A+ François
 
Dernière édition:

beegees

XLDnaute Occasionnel
Re : Comment créer une variable globale + amélioration de ce code ?

Bonjour,

Merci à tous pour vos réponses.

Cela fonctionne maintenant parfaitement.

fanfan38, tes explications sur "option explicit" sont très intéressante, merci.

bee
 

Discussions similaires

Statistiques des forums

Discussions
312 594
Messages
2 090 091
Membres
104 374
dernier inscrit
cheick.coulibaly@dcsmali.