OVH Cloud OVH Cloud

données renvoyées par inputbox - false ou 0

5 réponses
Avatar
Samuel Stefanini
Bonjour à tous,

j'ai un problème qui se mord la queue,
lorsqu'on clique sur annuler dans la methode inputbox, la valeur renvoyée
est false, c'est à dire 0
comment faire pour que si la valeur saisie ou la valeur par défaut est
justement 0 la valeur renvoyée ne soit pas false (ce qui revient dans mon cas
à ne pas exécuter la macro)

merci pour vos conseils

5 réponses

Avatar
isabelle
bonjour Manuel,

excel peut faire la différence entre Empty et 0

rep = InputBox("Entrer une valeur")
Select Case rep
Case Empty
x = "Empty"
Case 0
x = 0
End Select

isabelle


Bonjour à tous,

j'ai un problème qui se mord la queue,
lorsqu'on clique sur annuler dans la methode inputbox, la valeur renvoyée
est false, c'est à dire 0
comment faire pour que si la valeur saisie ou la valeur par défaut est
justement 0 la valeur renvoyée ne soit pas false (ce qui revient dans mon cas
à ne pas exécuter la macro)

merci pour vos conseils


Avatar
isabelle
ou plus exactement,

Sub Macro1()
rep = InputBox("Entrer une valeur")
Select Case rep
Case Empty
x = MsgBox("le bouton Annuler a été sélectionné" & Chr(10) & _
"ou" & Chr(10) & "aucune valeur n'a été saisie et le bouton OK a été sélectionné")
Case 0
x = MsgBox("la valeur 0 a été saisie")
End Select
End Sub

isabelle


Bonjour à tous,

j'ai un problème qui se mord la queue,
lorsqu'on clique sur annuler dans la methode inputbox, la valeur renvoyée
est false, c'est à dire 0
comment faire pour que si la valeur saisie ou la valeur par défaut est
justement 0 la valeur renvoyée ne soit pas false (ce qui revient dans mon cas
à ne pas exécuter la macro)

merci pour vos conseils


Avatar
Samuel Stefanini
cool
ca m'a fait pensé que j'avais oublié le cas où on n'entrait aucune valeur

pour le reste excel n'arrive toujours pas à faire la différence entre false
et 0


bonjour Manuel,

excel peut faire la différence entre Empty et 0

rep = InputBox("Entrer une valeur")
Select Case rep
Case Empty
x = "Empty"
Case 0
x = 0
End Select

isabelle


Bonjour à tous,

j'ai un problème qui se mord la queue,
lorsqu'on clique sur annuler dans la methode inputbox, la valeur renvoyée
est false, c'est à dire 0
comment faire pour que si la valeur saisie ou la valeur par défaut est
justement 0 la valeur renvoyée ne soit pas false (ce qui revient dans mon cas
à ne pas exécuter la macro)

merci pour vos conseils





Avatar
Eric
Bonjour,

Regardes ici : http://vbnet.mvps.org/index.html?code/helpers/inputbox.htm

J'ai testé cette procédure avec Access2k et Word2k et elle différencie
bien le cas Annuler et le Cas Ok avec une zone non renseignée.
Elle devrait donc tourner sans probléme avec Excel.

--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

cool
ca m'a fait pensé que j'avais oublié le cas où on n'entrait aucune valeur

pour le reste excel n'arrive toujours pas à faire la différence entre false
et 0



bonjour Manuel,

excel peut faire la différence entre Empty et 0

rep = InputBox("Entrer une valeur")
Select Case rep
Case Empty
x = "Empty"
Case 0
x = 0
End Select

isabelle



Bonjour à tous,

j'ai un problème qui se mord la queue,
lorsqu'on clique sur annuler dans la methode inputbox, la valeur renvoyée
est false, c'est à dire 0
comment faire pour que si la valeur saisie ou la valeur par défaut est
justement 0 la valeur renvoyée ne soit pas false (ce qui revient dans mon cas
à ne pas exécuter la macro)

merci pour vos conseils







Avatar
Samuel Stefanini
merci pour tous ces conseils

en fait, il faut bien faire la différence entre la methode inputbox qui
renvoie une donnée de type variant (booléen ou le type de donées saisi)
et la fonction inputbox qui renvoie une chaine de caracteres type string

la solution que vous proposez fonctionne avec la fonction inputbox, pas avec
la methode

je me suis donc tourné vers la fonction pour faire tourner ma macro
quand on clique sur Annuler, la chaine "" est renvoyée donc
si la valeur par défaut est d'un type autre que string, il suffit d'un
controle sur le type de données renvoyé pour faire la distinction entre "" et
0


ou plus exactement,

Sub Macro1()
rep = InputBox("Entrer une valeur")
Select Case rep
Case Empty
x = MsgBox("le bouton Annuler a été sélectionné" & Chr(10) & _
"ou" & Chr(10) & "aucune valeur n'a été saisie et le bouton OK a été sélectionné")
Case 0
x = MsgBox("la valeur 0 a été saisie")
End Select
End Sub

isabelle


Bonjour à tous,

j'ai un problème qui se mord la queue,
lorsqu'on clique sur annuler dans la methode inputbox, la valeur renvoyée
est false, c'est à dire 0
comment faire pour que si la valeur saisie ou la valeur par défaut est
justement 0 la valeur renvoyée ne soit pas false (ce qui revient dans mon cas
à ne pas exécuter la macro)

merci pour vos conseils