Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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"

avec ceci, il oblige le type a entrer une chain de caracteres.
remarque ce n'est pas plus mal cela evite au moins les debugages.

si tu as une autre idee, pourkoi pas?

merci a toi lacorse
 
Re : annuler proprement un "inputbox"

Je crois que c'est la seule solution.

Voici ce qui est écrit dans l'aide en ligne : "Si l'utilisateur clique sur le bouton Annuler, la fonction renvoie une chaîne de longueur nulle ("")."

@+
Béa
 
Re : annuler proprement un "inputbox"

bonsoir romainchu78, Lacorse33

Avec ce que Béa a indiqué tu mets :

If nom = "" Then GoTo jump

Avec ceci tu n'es pas obligé de saisir quelque chose dans l'inputbox.

Bonne nuit

P.O
 
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"

effectivement je viens de reessayer avec vbNullString et ca marche sur une feuille excel avec seulement cela comme code.
cela na pas l'air de fonctionner en l'integrant au reste de mon code...bizarre.
 
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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…