Fonction de contrôle de saisie

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

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

@+

Merci beaucoup c'est TOP

Rechercher des sujets similaires à "fonction controle saisie"