Fonction de contrôle de saisie
K
Bonjour,
J'ai besoin de votre aide
Je veut crée une fonction qui permet de saisir un nombre dans un imputBox ,la valeur doit être entre une borne min et une borne max , si l’utilisateur clique sur annulé la fonction renvoi -999
ma fonction marche très bien quand je saisie des valeur positif par contre elle renvois du vide quand j'écrit une valeur négatif
si quelqun peut m'éclairé je vous serai reconnaissant
merci d'avance
Ma fonction :
Function testing(question As String, minimum As Long, maximum As Long)
Dim nombreSaisie As Long
Do While nombreSaisie < minimum Or nombreSaisie > maximum
nombreSaisie = InputBox(question & " tapez " & minimum & " puis " & maximum & " puis appuiez sur cancel ")
If nombreSaisie = -999 Or nombreSaisie = "" Then
nombreSaisie = -999
Exit Do
End If
Loop
testing = nombreSaisie
MsgBox (testing)
End Function
Sub test()
Call testing("entre un voltage", -5, 10)
End Sub
Invité
Bonjour Kanoun
Je ne vois pas comment cela pouvait fonctionner
Une fonction n'est jamais appelée par "Call"
et le code n'est pas correcte dans la définition de la variable et dans la boucle Do... Loop
Voici ton code corrigé
Function Testing(question As String, minimum As Long, maximum As Long)
Dim nombreSaisie As Variant
Do
nombreSaisie = InputBox(question & " tapez " & minimum & " puis " & maximum & " puis appuiez sur cancel ")
If nombreSaisie = -999 Or nombreSaisie = "" Then
nombreSaisie = -999
Exit Do
End If
Loop While nombreSaisie < minimum Or nombreSaisie > maximum
Testing = nombreSaisie
MsgBox (Testing)
End Function
Sub test()
Dim Rep As Variant
Rep = Testing("entre un voltage", -5, 10)
End Sub
@+
K
Merci beaucoup c'est TOP