[VB.NET -> VB6]condition "autre"

Résolu
PTuner - 24 avril 2013 à 23:12
 PTuner - 25 avril 2013 à 14:12
Bonsoir
J'aimerai mettre une condition qui dise que si choix est égal à une autre valeur que "a","b","c","d" ou "e" le programme se ferme(end).
voici le code:
Sub test()
        MsgBox("Ceci est l'aide du logicel" & vbCrLf & "Tapez change et appuyez sur entrée pour changer d'image" & vbCrLf & "tapez exit ou quitter puis validez par entrée pour quitter le logiciel")
test:
        Dim choix As String
        choix = InputBox("choisissez une lettre comprise entre a et e", "")
        If choix = "a" Then GoTo test
        If choix = "b" Then GoTo test
        If choix = "c" Then GoTo test
        If choix = "d" Then GoTo test
        If choix = "e" Then End
        If choix = vbNull Then End
    End Sub

en effet j'ai mis que si la réponse est vide le programme se termine mais je vous demande est qu'on peut utiliser une autre valeur pour dire "autre que".

5 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
25 avril 2013 à 00:06
Salut

Ca ne ressemble pas à du VB.Net, mais plutôt du VBA/VB6.
Il est important de bien choisir la catégorie pour qu'on ne perde pas de temps inutile.

"Autre que" : L'aide de l'instruction If est pourtant complète ...
Différentes syntaxes existent.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on le partage (Socrate)
3
j'ai résolu mon problème tout bêtement merci jack de m'y avoir amené sur la bonne piste
solution:
Sub aide()
        MsgBox("Ceci est l'aide du logicel" & vbCrLf & "Tapez change et appuyez sur entrée pour changer d'image" & vbCrLf & "tapez exit ou quitter puis validez par entrée pour quitter le logiciel")
test:
        Dim choix As String
        choix = InputBox("choisissez une lettre comprise entre a et e", "")
        If choix = "a" Then GoTo test
        If choix = "b" Then GoTo test
        If choix = "c" Then GoTo test
        If choix = "d" Then GoTo test
        If choix = "e" Then End
        GoTo test
    End Sub
3
Utilisateur anonyme
25 avril 2013 à 04:42
Bonjour,

Bof ! C'est mieux que rien

Sub aide()
        MsgBox("Ceci est l'aide du logicel" & vbCrLf & "Tapez change et appuyez sur entrée pour changer d'image" & vbCrLf & "tapez exit ou quitter puis validez par entrée pour quitter le logiciel")
test:
        Dim choix As String
        choix = InputBox("choisissez une lettre comprise entre a et e", "")
        If choix = "a" Then GoTo test
        If choix = "b" Then GoTo test
        If choix = "c" Then GoTo test
        If choix = "d" Then GoTo test
        If choix = "e" Then End
        GoTo test
    End Sub


Mais, ça c'est plus beau.

Sub aide()
    dim sortie as boolean
    sortie = false
    Do
        MsgBox("Ceci est l'aide du logicel" & vbCrLf & "Tapez change et appuyez sur entrée pour changer d'image" & vbCrLf & "tapez exit ou quitter puis validez par entrée pour quitter le logiciel")
        Dim choix As String
        choix = InputBox("choisissez une lettre comprise entre a et e", "")
        select case choix
             case "a" to "d"
                 sortie = false
                 msgbox ("Vous avez une bonne réponse, mais il faut recommencer")
             case "e"
                 msgbox ("Enfin vous avez fini par trouver la bonne réponse pour sortir de ce dédale")
                  sortie = true
             case else
                  msgbox("Mauvaise réponse")
             sortie = false
        end select
    loop until sortie = true
 End Sub
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
25 avril 2013 à 12:20
Plus beau : c'est clair
Il pouvait aussi s'en sortir avec les If-ElseIf-Else-EndIf
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour
J'avais songé à mettre l'instruction select case mais j'ai abandonné faute de ne pas avoir mis un second variable(comme sur votre code).
Je suis un débutant en vb ;)
0
Rejoignez-nous