Test réponse sur l’entrée dans une inputbox [Résolu/Fermé]

Signaler
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
-
mijean94
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
-
Bonjour,

Sur mon code si dessous je ne trouve pas la solution pour après l’entrée de la donnée dans l’Inputbox ;

a) s’il y a validation avec OK et qu’il n’y a rien de saisie reposé la question à l’Inputbox, ne pas sortir
b) si à la question vous avez demandé une recherche ….. la réponse est nom revenir à l’Inputbox, ne pas sortir.


Sub recherche_image()
Dim monchoix As String
'*****
monchoix = InputBox("Veuillez saisir le nom de votre recherche")
'*****
If monchoix = "" Then
MsgBox "vous avez annulé où il n'y a pas de donnée d'entrée"
Exit Sub
End If
'*****
If MsgBox("Vous avez demandé une recherche sur un dessin de : " & monchoix, vbQuestion + vbYesNo) <> vbYes Then
Cancel = True
' Affichage de ton formulaire
Sheets("feuil1").Select
Exit Sub
Else
End If
'********
MsgBox "Vous allez être redirigé vers internet pour afficher votre recherche:"
'*** choix sur google image

End Sub


Merci pour votre aide.

Bien cordialement

7 réponses

Messages postés
6491
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 janvier 2020
439
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
7
Bonjour,

Merci pour la réponse, très bien le lien.

J’ai donc mis en application avec le code qui suit :

Do Until monchoix <> ""
monchoix = InputBox("Veuillez saisir un mot pour votre recherche")
Loop


Mon pb, ce code oblige en saisir un entrée donc c’est ce que je souhaité, mais il n’est plus possible de sortir de la fenêtre avec annuler !

Y a-t-il une solution ?

Merci pour la réponse

Bien cordialement
Messages postés
6491
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 janvier 2020
439
Comme ceci:

Dim monchoix As String
Do Until monchoix <> ""
monchoix = Application.InputBox("Veuillez saisir un mot pour votre recherche", Type:=2)
Loop
MsgBox monchoix


@+ Le Pivert
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
7
Bonjour,

Merci pour la réponse, mais je souhaiterais aussi ne pas sortir de la fenêtre si on tape OK sans rien avoir renseigné ?

Ya t-il une solution

bien cordialement
cs_Le Pivert
Messages postés
6491
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
26 janvier 2020
439
As-tu essayé le code ci-dessus!
Messages postés
16047
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
25 janvier 2020
2 856
bonjour

en utilisant le gestionnaire d'erreurs
Sub choisir()
Dim monchoix As String, rep As Byte
1:
monchoix = InputBox("Veuillez saisir un mot pour votre recherche")
    If monchoix = "" Or IsNumeric(monchoix) Then GoTo erreur1
'..... le code
Exit Sub
'gestionaire d'erreurs
erreur1:
 rep = MsgBox("Saisie erronnée ou vide", vbRetryCancel)
If rep = vbRetry Then: GoTo 1

End Sub


 Michel
Messages postés
23231
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
26 janvier 2020
5 878
Bonjour,

Avec une inputbox tu ne peux pas faire la différence entre réponse ="" et Annuler puisque tu as également ="".
Utilise une msgbox.
eric
Messages postés
341
Date d'inscription
mercredi 16 décembre 2015
Statut
Membre
Dernière intervention
7 novembre 2019
7
Bonjour,

Merci à tous pour vos réponses.

Je vais utiliser le technique de Michel_m qui correspond bien à mes souhaites.

A bientôt

Bien cordialement et vraiment on as toujours des réponses positives sur ce forum.