le annuler dans 1 inputbox

  • Initiateur de la discussion Initiateur de la discussion jp93
  • Date de début Date de début

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 !

J

jp93

Guest
Bonjour le forum

Je voudrais savoir comment faire pour que lorsqu'on on clique sur le bouton 'annuler' du inputbox ca quitte le programme (la macro s'arrete) mais je crois que ce n'est paossible...J'ai pensé un truc du style:
si on clic sur Annuler la valeur de retour de inputbox est vide
on n'a qu'à tester si c'est vide pour quitter ex: :

reponse = InputBox('Machine truc', 'jj')
If reponse = '' Then
??
End If

Le soucis c'est que j'effectue deja un test sur la valeur de retour de mon inputbox, comme je souhaite forcer la saisie, tant qu'elle est vide, je redemande à l'utilisateur la saisie...


If Reponse = Empty Then
Do Until Reponse <> Empty
Reponse = InputBox(' Vous n'avez rien saisi! Veuillez entrer l'information demandée')
Loop

End If
 
Re

Par contre si tu veux gérer différemment le fait d'annuler et de cliquer sur ok avec une reponse vide tu peux faire comme ceci

reponse = Application.InputBox('Machine truc', 'jj')
If reponse = False Then
Exit Sub
ElseIf reponse = Empty Then
Do Until reponse <> Empty
reponse = InputBox(' Vous n'avez rien saisi! Veuillez entrer l'information demandée')
Loop
End If

Bon courage

Message édité par: Pascal76, à: 13/07/2005 10:03
 
re Pascal

merci pour cette seconde solution! la 1ere marche très bien, la 2eme en revanche chez moi ne tourne pas.. voici le code, si t'as un moment pourrais tu y jeter un oeil..? merci d'avance!!

Dim Reponse As String


Reponse = InputBox('Entrez le numero du rapport:')
Set maselection = Application.Worksheets('1').cells(3, 2)
maselection.Value = Reponse
If Reponse = False Then
Exit Sub

ElseIf Reponse = Empty Then
Do Until Reponse <> Empty
Reponse = InputBox(' Vous n'avez rien saisi! Veuillez entrer l'information demandée')
Set maselection = Application.Worksheets('1').cells(3, 4)
maselection.Value = Reponse
Loop
GoTo debut
End If
 
Re

Excuse moi mets tu ne mets pas tes instructions dans le bon sens

Il faut tester d'abord et ensuite mettre la réponse dans ta feuille

Dim Reponse As Variant

debut:

Reponse = Application.InputBox('Entrez le numero du rapport:')
If Reponse = False Then
Exit Sub
ElseIf Reponse = Empty Then
MsgBox 'Vous n'avez rien saisi! Veuillez entrer l'information demandée'
GoTo debut
End If
Worksheets('1').cells(3, 2)=Reponse

Par contre je ne vois pas trop pourquoi tu as Application.Worksheets('1').cells(3, 4) dans ton code
 
re Pascal

ah..je m'enmèle les pattes... :woohoo: ben pour pour ce qui est du worksheets('1').cells(2,3) c'est parceque la reponse à ma question, donc ce que va saisir l'utilisateur doit etre rangé dans la cellule C2 de ma feuille '1', je rempli une feuille excel avec une susccession d'inputbox... c pas très malin je l'avoue mais bon... je n'ai pas d'autres solutions.. il y a je crois les txtbox dans un userform, mais comme il y a 65 questions environ, je ne vois pas comment agancer au mieux 65 txtbox sur le meme userform....
voili voilou... Si tu as une autre solution, je t'ecoute avec joie!

Et encore merci pour le temps que tu accorde à ce problème!!!
🙂
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

D
Réponses
3
Affichages
525
D
D
  • Question Question
Réponses
0
Affichages
614
D
H
Réponses
3
Affichages
1 K
HugoB99
H
M
Réponses
7
Affichages
1 K
M
A
Réponses
12
Affichages
29 K
abousaad
A
C
Réponses
4
Affichages
12 K
chtite24
C
M
Réponses
0
Affichages
954
MIMI28CG
M
B
Réponses
3
Affichages
1 K
B
Retour