Tester la valeur saisie dans InputBox

abousaad

XLDnaute Junior
Bonsoir à tous;
J'aimerai faire un test sur la valeur saisie par InputBox de telle façon à forcer l'utilisateur de saisir une valeur et qu'elle soit numérique.
Merci pour votre aide
Voilà un tout petit début:
Code:
dim num as string
num = InputBox("Numéro du BC")
If num = "" or isnumeric(num) = false Then
MsgBox ("Veuillez saisir le Numéro du BC!")
else
 

Grand Chaman Excel

XLDnaute Impliqué
Re : Tester la valeur saisie dans InputBox

Bonsoir aboussad,

En utilisant Application.InputBox au lieu de InputBox, tu peux spécifier le type de saisie que l'utilisateur doit entrer. Regarder l'aide à ce sujet.

Exemple :

VB:
Sub Toto()
    Dim num As Long
    
    num = Application.InputBox("Numéro du BC:", , , , , , , 1)
    
' Utilisation de Application.InputBox
'valeur Signification
'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.
    
End Sub

A+
 

abousaad

XLDnaute Junior
Re : Tester la valeur saisie dans InputBox

Bonjour Grand Chaman Excel et merci pour votre réactivité;
en utilisant ce code:
Code:
sub toto ()
dim num as string
num = InputBox("Numéro du BC")
If num = "" or isnumeric(num) = false Then
MsgBox ("Veuillez saisir le Numéro du BC!")
else
end sub
Est ce que je peux faire un test sur la valeur de InputBox en utilisant "if" ou bien une boucle "tant que"?
 

mutzik

XLDnaute Barbatruc
Re : Tester la valeur saisie dans InputBox

bonjour

essaie
Sub toto()
Dim num
Application.DisplayAlerts = False
num = 0
Do While num = 0
num = Application.InputBox("Numéro du BC ", , , , , , , 1)
num = CDbl(num) 'convertit le string en valeur numérique
Loop
Application.DisplayAlerts = True
End Sub
 

abousaad

XLDnaute Junior
Re : Tester la valeur saisie dans InputBox

bonjour

essaie
Sub toto()
Dim num
Application.DisplayAlerts = False
num = 0
Do While num = 0
num = Application.InputBox("Numéro du BC ", , , , , , , 1)
num = CDbl(num) 'convertit le string en valeur numérique
Loop
Application.DisplayAlerts = True
End Sub

Bonjour Bertrand et merci pour la réponse;
Le code ça marche bien et comme souhaité
Mais! il y a problème: la boite de dialogue reste affichée même si je clique sur Annuler.
est ce que on peut la fermer une fois on clique sur Annuler!
Merci pour la réponse
 

Pierrot93

XLDnaute Barbatruc
Re : Tester la valeur saisie dans InputBox

Bonjour à tous,

une autre approche :
Code:
Dim num As Variant
Do While IsEmpty(num)
    num = Application.InputBox("Numéro du BC ", , , , , , , 1)
Loop
If VarType(num) = vbBoolean Then Exit Sub

bon après midi
@+
 

abousaad

XLDnaute Junior
Re : Tester la valeur saisie dans InputBox

Bonjour à tous,

une autre approche :
Code:
Dim num As Variant
Do While IsEmpty(num)
    num = Application.InputBox("Numéro du BC ", , , , , , , 1)
Loop
If VarType(num) = vbBoolean Then Exit Sub

bon après midi
@+

Bonjour Pierrot93;
ET merci pour votre réactivité dans ce fil
Est ce que on peut afficher un message lorsque l'utilisateur clique sur OK sans rien saisi.
Merci pour l'aide
 

pierrejean

XLDnaute Barbatruc
Re : Tester la valeur saisie dans InputBox

bonjour à tous

Un essai:

Code:
Sub test()
Dim num As Variant
1
num = InputBox("entrez un numerique", , 0)
If Not IsNumeric(num) Then
  If num = "" Then Exit Sub
  MsgBox ("vous devez entrer un numerique")
  GoTo 1
End If
MsgBox (num)
End Sub
 

abousaad

XLDnaute Junior
Re : Tester la valeur saisie dans InputBox

Bonsoir abousaad,

Un autre essai:
VB:
Sub test()
Dim num As String
Do
  num = InputBox("Numéro du BC")
  If IsNumeric(num) Then Exit Do
  MsgBox ("Veuillez saisir le Numéro du BC!")
Loop
End Sub

Bonsoir mapomme et merci pour votre réactivité

Merci à toutes et à tous pour votre générosité
Grâce à ce forum j'ai appris bcp bcp.
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 137
Membres
103 129
dernier inscrit
Atruc81500