[Catégorie modifiée .Net --> VBA] Utiliser le bouton Cancel de l'inputBox => Pro

tonioux Messages postés 16 Date d'inscription mardi 13 juillet 2010 Statut Membre Dernière intervention 10 août 2011 - 27 juil. 2010 à 18:10
CTAC Messages postés 133 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 8 juin 2012 - 29 juil. 2010 à 18:57
Bonjour,

Petit problème concernant ma inputbox :

Voici mon code
Private Sub Domaine_Click()
Application.ScreenUpdating = False

Dim resp As String
Dim numericcheck11 As Boolean

Do
    Do
MsgBox ("Le nom doit être composé de lettres et non vide")
resp = InputBox("Indiquez le nom de la personne à ajouter")

numericcheck11 = IsNumeric(resp)


Loop While numericcheck11 <> False
    Loop While resp = ""
resp1 = Sheets("feuil2").Range("C9999").End(xlUp).Row + 1
Sheets("Feuil2").Range("C" & resp1).Value = resp
End Sub


Le problème est que, lorsqu'on clique sur Cancel, il semblerait que ca fasse cancel = "" dans l'input + ok

Comment éviter celà et ainsi faire qu'il n'y ait pas une boucle infinie qui se lance ???

Merci d'avance

6 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
27 juil. 2010 à 18:38
Salut
Quand tu cliques sur Cancel, la fonction ne renvoie rien = facile à tester :
    resp = InputBox("Indiquez le nom de la personne à ajouter")
    If resp = "" Then Exit Do

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 la partage (Socrate)
0
tonioux Messages postés 16 Date d'inscription mardi 13 juillet 2010 Statut Membre Dernière intervention 10 août 2011
27 juil. 2010 à 19:09
Justement, est-ce possible de différencier :

-Le fait de cliquer sur Cancel
-Le fait de ne rien mettre dans la inputbox et de cliquer sur ok ???
0
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
27 juil. 2010 à 20:16
Non, pas avec InputBox
0
tonioux Messages postés 16 Date d'inscription mardi 13 juillet 2010 Statut Membre Dernière intervention 10 août 2011
27 juil. 2010 à 20:43
Comment faire alors ? Y a t'il un moyen d'inscrire quelque-chose et de différencier le cancel de ce qu'on écrit ?
0

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

Posez votre question
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
27 juil. 2010 à 23:40
Non
Si l'utilisateur efface volontairement la zone de saisie (en cas d'utilisation de valeur par défaut), il n'y a aucun moyen.

(27 secondes plus tard)

Correction votre honneur :
Une simple recherche sur mon moteur de recherche favori de "vb6 detect cancel inputbox" m'a renvoyer sur <cette source vbfrance> qui t'offre la solution !
0
CTAC Messages postés 133 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 8 juin 2012 5
29 juil. 2010 à 18:57
Bonjour,

Avec Application.InputBox Cancel renvoie False.

ctac
0
Rejoignez-nous