le annuler dans 1 inputbox

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
 

PascalXLD

XLDnaute Barbatruc
Modérateur
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
 

PascalXLD

XLDnaute Barbatruc
Modérateur
RE RE

Tout compte fait je ferais plutot comme ceci

debut:
reponse = Application.InputBox('Machine truc', 'jj')
If reponse = False Then
Exit Sub
ElseIf reponse = Empty Then
MsgBox 'Veuillez entrer une valeur'
GoTo debut
End If

Bonne journée
 
J

jp93

Guest
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
 

PascalXLD

XLDnaute Barbatruc
Modérateur
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
 
J

jp93

Guest
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!!!
:)
 

Discussions similaires

Réponses
8
Affichages
533

Statistiques des forums

Discussions
312 493
Messages
2 088 957
Membres
103 990
dernier inscrit
lamiadebz