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

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16