question bête sur le bouton annuler d'une Inputbox

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

lebarbo

XLDnaute Occasionnel
Bonjour le forum, bonjour à tous,

J'ai une inputbox qui renvoie une valeur saisie mais j'aimerai que le code complet s'arrête quand on appuie sur le bouton annuler.

Merci
 
Re : question bête sur le bouton annuler d'une Inputbox

Merci Jacques87 mais si on met une valeur par défaut dans le champs inputbox cela ne fonctionne plus, je souhaiterais plutôt faire un code du style :

Si bouton annuler activé alors exit sub
 
Re : question bête sur le bouton annuler d'une Inputbox

Bonsoir à tous,

J'ai du m'absenter quelques instants
J'ai pris connaissance de ton post où tu me dis :

mais si on met une valeur par défaut dans le champs inputbox cela ne fonctionne plus

Je ne te suis pas très bien, aurais-je mal comlpris ta question ?

Voici un petit fichier avec lequel il n'y a pas de problème : qu'une réponse soit donnée ou non, le bouton "Annuler" te fais sortir de la procédure

P.S. : Bernard, reponse = VbCancel ne te permet pas de sortir du code, sauf erreur de ma part. Tu passes à la ligne suivante et ignores la réponse donnée quelle qu'elle soit

En cas de bétise de ma part n'hésitez pas à me le faire savoir

Bonsoir à tous
 
Re : question bête sur le bouton annuler d'une Inputbox

pour vbCancel ça ne fonctionne pas et sinon Jacques87 tu avais raison ça marche je n'avais pas testé persuadé que le code nétait pas bon, je me suis fourvoyé ; )

Merci à tous
 
Re : question bête sur le bouton annuler d'une Inputbox

Bonjour tout le monde
Je viens de rencontrer le même problème
Si j ose ........Jacques87 quelle différence entre OK et Annuler ??
si
reponse = InputBox("coucou")
If reponse = "" Then Exit Sub
MsgBox (reponse)

Par contre en rajoutant les *****

reponse = InputBox("coucou", " Titre ", " * * * * * * ")
If reponse = "" Then Exit Sub
MsgBox (reponse)
macro
end sub
OK considère les ****** et continu la macro, par contre Annuler considère un ""et donc sort

Bonne soirée a tous

E et F
 
Re : question bête sur le bouton annuler d'une Inputbox

Bonsoir E et F, heureux de te croiser

Il faut oser et demander, c'est comme cela que je me suis formé petit à petit en tant qu'autodidacte

Pour répondre à ta question :

OK prend en compte le texte que l'utilisateur inscrit dans la fenêtre de l'InputBox et donc la variable reponse = ce texte

ANNULER, comme son nom l'indique annule la petite "procédure" liée au InputBox et de plus renvoie une chaîne de longueur nulle (""), de ce fait la boite se fermera, la reponse sera vide donc reponse = ""

ainsi grâce au test qui suit, la reponse étant égale à "", tu termines ton code en sortant

Maintenant même si tu ajoutes "*****" après la deuxième virgule, donc en incitant la réponse "******" que tu considères comme réponse par défaut, ANNULER te renverra quand même "" et ignorera la réponse par défaut "*****"

Voila, voila ai-je été assez clair

A+
 
Re : question bête sur le bouton annuler d'une Inputbox

Bonsoir à tous

Le seul problème c'est que cette fonction ne fait pas de différence entre la zone de texte vide (si on supprime la val par défaut) et réponse OK ou ANNULER, dan les 2 cas la valeur renvoyée est nulle si je ne me trompe.

voila pourquoi je proposais la méthode Inputbox plutôt que la fonction, maintenant c'est mon point de vue ou alors il y a quelque chose qui m'échappe, c'est bien possible.

En plus tout dépend de ce que l'on veut controler...

Bonne soirée à tous
@+
 
Re : question bête sur le bouton annuler d'une Inputbox

Bonsoir Pierrot,

Tu as bien raison.
Une zone de texte vide aura la même incidence que le bouton ANNULER et ceci pourrait entraîner des confusions.

Mais, et cela n'engage que moi, d'une part quand on ouvre une boite de dialogue c'est que l'on attend une réponse et d'autre part

La méthode InputBox est différente de la fonction InputBox, car elle permet une validation sélective de l'entrée de l'utilisateur et elle peut être utilisée avec des objets Microsoft Excel, des valeurs d'erreur et des formules. Notez que Application.InputBox appelle la méthode InputBox ; InputBox sans qualificateur d'objet appelle la fonction InputBox.

J'ai donc personnellement opté, à tort ou à raison, pour la fonction INPUTBOX afin d'appeler à chaque fois le qualificateur d'objet facultatif (dans mon cas)

Dis moi ce que tu en penses

Cordialement
 
Re : question bête sur le bouton annuler d'une Inputbox

Bonjour Jacques, Lebarbo, Bertrand, EetF

Tout d’abord Jacques, merci de ta réponse.

Je suis d’accord avec toi quand tu dis que si l’on ouvre une InputBox on attend une réponse, maintenant je proposais cette solution par rapport à la question initiale.

J'ai une inputbox qui renvoie une valeur saisie mais j'aimerai que le code complet s'arrête quand on appuie sur le bouton annuler.

Puisque lorsque tu cliques sur « Annuler » avec la méthode Inputbox, la valeur renvoyée est « False », et si elle est non renseignée la valeur est nulle ce qui permet de faire le distinguo entre les 2 et éventuellement de déclancher une action différente. De plus la méthode te permet de contrôler en entrée certains types de donnée saisies, ce qui peut être utile.

Personnellement j’utilise les 2 (méthode et fonction) tout dépend du projet et des contrôles plus ou moins fins que je veux mettre. Je pense qu’il bon de savoir que les 2 existent, après chacun prend la solution qu’il lui convient.

Bonne journée à tous.
@+
 
Re : question bête sur le bouton annuler d'une Inputbox

Bonjour à tous,

Je ne pensais pas avoir autant de réactions à cette question qui me paraissait anodine mais le code VBA recele de subtilités et c'est tant mieux et les deux solutions proposées me conviennent parfaitement.

Merci à tous
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
185
  • Question Question
Microsoft 365 Annuler Segment
Réponses
5
Affichages
529
Réponses
2
Affichages
234
Retour