Peut on exiger le type de valeur a saisir dans "InputBox"

J

Jare

Guest
Peut on m'aider !

Dans une macro, à la boite de saisie "InputBox" peut on exiger une saisie numérique ou texte, exemple: si l'on saisie une valeur texte alors que l'on souhaite une valeur numérique, cela soit signalé par un message d'erreur ou tout simplement la boite ne prend pas ma saisie !

Merci
 
T

Ti

Guest
utilise Application.InputBox, en précisant le type attendu.
Exemple, pour avoir un nombre :

Sub Test()
Dim Valeur As Variant
Dim Message As String, Titre As String
Message = "Entrez une valeur numérique"
Titre = "Saisie d'une valeur"
Valeur = Application.InputBox(prompt:=Message, Title:=Titre, Type:=1)
End Sub

voici les valeurs attendues pour Type (cf. l'aide d'InputBox)
0 Une formule.
1 Un nombre.
2 Texte (une chaîne).
4 Une valeur logique (True ou False).
8 Une référence de cellule, sous la forme d'un objet Range.
16 Une valeur d'erreur, telle que #N/A.
64 Un tableau de valeurs.
 
T

Ti

Guest
Sub EntreeChaine()
Dim Valeur As Variant
Dim Message As String, Titre As String
Message = "Entrez une valeur numérique"
Titre = "Saisie d'une valeur"
Valeur = Application.InputBox(prompt:=Message, Title:=Titre, Type:=2)
End Sub

Avec cette macro tous les types de valeurs seront acceptés (chaine ou nombre) puisqu'il n'y a guère de moyen de tester si ce qui a été tapé est ou n'est pas une chaîne de caractères. Ainsi une valeur comme 123.5 sera vue comme la chaîne "123.5".
 

Discussions similaires

Statistiques des forums

Discussions
312 165
Messages
2 085 880
Membres
103 009
dernier inscrit
dede972