annuler proprement un "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 !

romainchu78

XLDnaute Occasionnel
Bonsoir a tous,
Dans mon code jai un inputbox (donne par un adepte du forum)
nom = InputBox("Entrer le nom du fichier", "Création du fichier")
mais si l'utilisateur annule la boite d'invite, cest a dire s'il clique sur fermeture ou annuler quel est le code pour que je sorte proprement de la procedure en cours. J'ai essaye avec ca mais cela n'a aucun effet.

nom = InputBox("Entrer le nom du fichier", "Création du fichier")
If nom = False Then GoTo jump
...
jump:


merci par avance
 
Re : annuler proprement un "inputbox"

voila ce que j'ai trouve sur internet;

* Vous voulez empêcher l'utilisation de ce bouton, écrivez le code ainsi :
Do
Retour = InputBox("Texte à afficher dans la cellule A1 ? ")
Loop While Retour = ""
* Vous ne voulez pas continuer le code :
Retour = InputBox("Texte à afficher dans la cellule A1 ? ")
If Retour = "" Then Exit Sub

la deuxieme rejoint ce qu'a propose bqrt.
jai pas trouve pour le vbNullString.

merci a vous lacorse et bqtr
 
Re : annuler proprement un "inputbox"

Salut le Forum

Une autre façon de faire simuler une erreur

Sub Essai()

Dim Nom As String
Dim Msg As String

On Error GoTo Erreur

Nom = Application.InputBox("Entrer le nom du fichier", "Création du fichier", Type:=2)

If Nom = "" Or Nom = "False" Or Nom = "Faux" Then Err.Raise 424
'..... le code

Exit Sub

Erreur:
If Err.Number = 424 Then
MsgBox "You need to enter value, this procedure will now terminate."
Else
Msg = "L'erreur # " & Str(Err.Number) & " a été générée par " & _
Err.Source & Chr(13) & Err.Description
MsgBox Msg, , "Erreur", Err.HelpFile, Err.HelpContext
End If

End Sub
 
Re : annuler proprement un "inputbox"

Bonsoir Myta, re le fil

Si tu veux simplement sotir de la procédure :

If nom = vbNullString Then exit sub

Si après jump: tu as du code essaye ceci :

If nom = vbNullString Then GoTo jump
..../.... ton code
Exit sub (il faut sortir de la procédure quand nom est <> vbnullstring )
jump :
...../.... ton code
end sub

P.O
 
Re : annuler proprement un "inputbox"

bonjour à vous

si l'utilisateur annule la boite d'invite, cest a dire s'il clique sur fermeture ou annuler quel est le code pour que je sorte proprement de la procedure en cours.

une autre possibilité:

Code:
'Intercepter l'utilisation du bouton "Annuler"
'et la croix de fermeture d'un Inputbox
    Dim Reponse As Variant
    Reponse = Application.InputBox("Saisissez vos données")
    If VarType(Reponse) = vbBoolean Then Exit Sub


bonne journée
MichelXld
 
Re : annuler proprement un "inputbox"

Bonjour,

En faisant une recherche sur la fermeture des inputbox je suis tombé sur ce fil. La solution de MichelXLD me semblait bien mais elle ne semble pas fonctionner.
Pour ma part j'utilise :
Code:
dim INP as String
INP = InputBox("Message")
If StrPtr(INP) = 0 Then MsgBox "Fermez avec un des boutons !"
Le problème c'est que mon inputbox disparait ensuite..
Je peux bien sur la faire réapparaitre avec
Code:
INP = Inputbox("Message")
Mais cette solution n'est pas géniale à mon gout.
Quelqu'un connait une solution efficace ?

Merci d'avance.​
 
Re : annuler proprement un "inputbox"

Bonjour

attention

Michel ne parle pas dans son code d'une inputbox mais
de application.inputbox

c'est là toute la différence mais c'est important

D'ailleurs c'est super le application.inputbox car on peut rajouter des options interessantes et on traite différemment le annuler
 
- 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
645
S
  • Résolu(e)
Réponses
7
Affichages
1 K
sgangbadjo
S
D
Réponses
14
Affichages
2 K
L
Réponses
1
Affichages
1 K
Lucien31
L
S
Réponses
0
Affichages
729
S
Retour