IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Boucle à base de MsgBox vbYesNo


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2011
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 44
    Par défaut Boucle à base de MsgBox vbYesNo
    Bonjour, je souhaite écrire un programme tout simple où une personne doit rentrer un chiffre au début, suite à quoi le programme lui demande s'il s'agit du chiffre qu'il vient de rentrer. Si la personne répond "oui", dans ce cas le programme s'arrête, sinon le programme continue de tourner avec le chiffre n-1.

    Voici le petit bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Sub test()
     
    Dim a As Integer
     
    a = InputBox("Choisir un chiffre")
     
    Do
    Select Case MsgBox("Le chiffre est" & a, vbYesNo)
    Case vbYes
    MsgBox ("c'est le bon chiffre")
    Case vbNo
    MsgBox ("le chiffre est" & a - 1), vbYesNo
    End Select
    Loop Until a = vbYes
    End Sub
    Malheureusement le programme est infini et ne tourne pas comme je le souhaite, il ne prend pas les valeurs n-1 et continue de tourner même si l'on choisit "oui".

    Merci d'avance pour votre aide !

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Mais pourquoi comparer a à vbYes ?


  3. #3
    Membre averti
    Inscrit en
    Mars 2011
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 44
    Par défaut
    Bonjour et merci pour votre réponse rapide !

    Je suis un peu hésitant en VBA encore (j'ai repris récemment), mais la démarche logique est la suivante : continuer à faire la boucle jusqu'à ce que "until" la réponse à la msgbox vbyesno ait pour résultat "yes". Si on choisit "yes", le programme s'arrête.

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    et que vient faire cette variable a ? comment peu-elle être égale à vbYes .. (sauf si tu saisi 6 dans l'input box ) ?

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/03/2014, 19h59
  2. Réponse d'un MsgBox vbYesNo
    Par two3d dans le forum VB.NET
    Réponses: 5
    Dernier message: 02/12/2012, 00h05
  3. Probleme avec Msgbox,vbyesno
    Par benhmou dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 23/03/2012, 00h33
  4. MsgBox vbYesNo en SQL possible?
    Par georgesasc dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 03/08/2010, 21h40
  5. XML+Boucle+Base de donnée.
    Par Donald08 dans le forum XQUERY/SGBD
    Réponses: 4
    Dernier message: 12/08/2009, 15h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo