Mettre des valeurs de type double dans un inputbox et faire des comparaisons

Résolu
sergemou Messages postés 25 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 31 juillet 2008 - 18 juil. 2008 à 10:30
sergemou Messages postés 25 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 31 juillet 2008 - 18 juil. 2008 à 16:33
salut à tous,
je suis actuellement en stage et je travaille sur vb6.J'ai un inputbox ou je dois mettre des valeurs de type double mais mon pb est avant de changer une valeur il faut faire le texte si:
1°)la valeur n'est pas negative si oui marque un message d'erreur exemple -2
2°)la valeur n'est pas une chaine vide si oui marque un message d'erreur  exemple ""
3°)la valeur n'est pas une chaine de caractere si oui marque un message d'erreur  exemple fhsjhfhfhhff
4°)la valeur n'est pas une chaine de caractere melange avec des chiffres  exemple dhgjhgj5987fg887fbj66
j'ai essaye ce bout de code il me met une erreur pour la chaine vide et aussi pour la chaine de caractere 
 h = InputBox(TreeView1.SelectedItem.Text & "=" & idx(0), "Réglage de paramètre", idx(0))        
        h1 = CDbl(h)     
    If  h1 < 0 Then
          Texte = "Pas de Valeur negative"
           Titre = "c'est pas possible"
           Toto = MsgBox(Texte, vbExclamation + vbYesNoCancel, Titre          
     Else
            stat = Target_obj.SetParam(Index, slide)
    End If   
    If   h1 = "" Then
           Texte = "Vous devez entrer une valeur"
           Titre = "c'est pas possible"
           Toto = MsgBox(Texte, vbExclamation + vbYesNoCancel, Titre)
     Else
            stat = Target_obj.SetParam(Index, slide)
    End If    
  j'attendsvotre aide une bonne explication et un bout de code si possible.Merci à tous et bonne journée

9 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
18 juil. 2008 à 10:49
Salut,

Regarde ces tests :

' On commence les tests ^^
  'si vide on sort : Test 1
   If LenB(h) = 0 Then MsgBox "Aucune saisie !": Exit Sub ' alors vide on sort
  
  'Si chaine de carractère on sort aussi ^^
   If Not IsNumeric(h) Then MsgBox "Saisissez que des numériques !": Exit Sub
 
  ' Si < 0 on sort aussi ^^
   If h < 0 Then MsgBox "Pas de valuers négatives !": Exit Sub

A+
Exploreur

 Linux a un noyau, Windows un pépin
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
18 juil. 2008 à 11:45
Ouais....Et c'est quoi l'erreur ?

A+
Exploreur

 Linux a un noyau, Windows un pépin
3
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
18 juil. 2008 à 12:12
Séparateur décimal je pense....utilise REPLACE pour remplacer la virgule par un point

A+
Exploreur

 Linux a un noyau, Windows un pépin
3
sergemou Messages postés 25 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 31 juillet 2008
18 juil. 2008 à 11:33
je te remercie ca marche mais mon petit souci est que je veux que mettre des valeurs types double
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sergemou Messages postés 25 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 31 juillet 2008
18 juil. 2008 à 11:41
je te remercie ca marche mais mon petit souci est que je veux que mettre des valeurs types double et ca ne marche pas avec car quand je convertis                h1 = CDbl(h)  ca me marque une erreur alors je ne sais pas comment faire ce bout de code est un cas general pour un certain type d'entier....................... merci
0
sergemou Messages postés 25 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 31 juillet 2008
18 juil. 2008 à 12:06
il me marque erreur d'excecution '13'  et type incompatible pour les 2 cas
 'si vide on sort : Test 1
 'Si chaine de carractère on sort aussi ^^
A+
0
sergemou Messages postés 25 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 31 juillet 2008
18 juil. 2008 à 14:17
Toujours pas la meme erreur et ton replace tu veuxque je le mette à quel niveau à celui de h (ie)   h=replace(h,",",".") c'est à ça que tu pensais.....
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
18 juil. 2008 à 15:48
Salut,

oui c'est cela pour le replace....tu mets le replace aprés la saisie dans ta textbox...

par contre ne valide pas toutes les réponses à chaque fois que je repond....valide que la réponse qui résoud ton problème ^^

A+
Exploreur

 Linux a un noyau, Windows un pépin
0
sergemou Messages postés 25 Date d'inscription mardi 4 décembre 2007 Statut Membre Dernière intervention 31 juillet 2008
18 juil. 2008 à 16:33
Toujours pas la meme erreur qunad je replace car j'ai un inputbox et je ne veux que lui mettre des valeurs de type double donc je fains un test
1°)pas de valeurs negatives  -2
2°)pas de chaine vide  ""
3°)pas de chaine de caracteres   fgtyjyluiol
4°)pas de chaine et des nombres   zege3r4654dgdgh
A+
0
Rejoignez-nous