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
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
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
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
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