Pb textbox [Résolu]

Signaler
Messages postés
71
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
8 décembre 2011
-
Messages postés
71
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
8 décembre 2011
-
Bonjour
Je suis débutant et j'ai un problème en vba solidworks j'explique :
J'ai 2 textbox ou je rentre des valeurs pour la suite de mon programme, mais avant de continuer la suite de programme je souhaite vérifier les valeurs rentrées pour qu'elles ne me créent pas d'erreur par la suite j'ai donc commencé un début de routine mais il fait n'importe quoi


Dim fi1, fi2 as double

fi1 = CDbl(TextBox6.Value)
fi2 = CDbl(TextBox7.Value)

If fi1 < 2.7 Xor fi1 <= 3.3 And fi2 < 2.7 Xor fi2 <= 3.3 Then
Programme??.
???.programme
Else: reponse = MsgBox "fi1 ou fi2 ne correspondent pas à la norme", vbYesNo
If reponse = vbNo Then
erreur = True 'si message d'erreur alors stop procedure
Exit Function
End If

Quand je rentre dans mes textbox des chiffres entre 2,7 et 3,3 il me renvoie directement vers le Else
Voila en espérant avoie été claire
merci

8 réponses

Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
6
tu lui interdit de mettre des point alors que ton test utilise justement le point comme séparateur décimal.....???

replace(TextBox6.text , "," , "." ) remplace les virgules par des points justement !  donc en effet ça ne peut pas faire
d'autre part je vois également une source possible d'erreur
Dim fi1, fi2 as double

dans cette déclaration fi1 est un variant pas un double
tu aurais dû mettre
Dim fi1 as double, fi2 as double

d'autre part dans ton
 If  fi1 < 2.7 Xor fi1 <= 3.3 And fi2 < 2.7 Xor fi2 <= 3.3 Then
fi1 < 2.7 X ne sert à rien puisque si fi1 <= 3.3 il sera également inférieur à 2.7
idem pour fi2
de plus est ce bien un Xor dont tu as besoin ?
d'autre part il serait plus logique de l'écrire
If ( fi1 < 2.7 Xor fi1 <= 3.3) And (fi2 < 2.7 Xor fi2 <= 3.3) Then

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
6
bonjour
une idée en passant!
si tu faisais
fi1 = CDbl(remplace(TextBox6.text , "," , "." ))
ça devrait aller mieux déja !
puisque dans ton test tu utilises le point comme séparateur décimal et la virgule dans la saisie

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
Messages postés
71
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
8 décembre 2011

ok mais j'ai un pb avec le "remplace" sub ou function non definie
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
6
logique !!!
avec mes excuses
ce n'est pas remplace mais Replace

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
Messages postés
71
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
8 décembre 2011

sa ne fonctionne pas il me met erreur d'execution
Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
6
quel est le séparateur décimal  déclaré dans les parametres régionaux ?
de plus il te la met où cette erreur ?

[reglement.aspx ]si c'est la solution, penser : REPONSE ACCEPTEE
Messages postés
71
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
8 décembre 2011

moi je lui interdit de mettre des points
et l'erreur il me la met au niveau de
fi1 = CDbl(replace(TextBox6.text , "," , "." ))
il met erreur d'execution 13
Messages postés
71
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
8 décembre 2011

Merci pour l'info sa fonction a la perfection
C'était les parenthèses qui me faisais tout planter
Encore merci a++