Malokoxis
Messages postés83Date d'inscriptionlundi 3 janvier 2011StatutMembreDernière intervention22 février 2021
-
Modifié le 24 janv. 2018 à 14:55
Malokoxis
Messages postés83Date d'inscriptionlundi 3 janvier 2011StatutMembreDernière intervention22 février 2021
-
24 janv. 2018 à 18:46
Bonjour,
Je fais une application qui traite des coordonnées GPS au format décimal.
J'ai essayer de passer ces valeurs en Double avec la fonction val :
valLatLong = Val(LongNO.Text)
If MSFlexGrid1.TextMatrix(i, 1) < valLatLong Or MSFlexGrid1.TextMatrix(i, 1) > LongNE.Text Then
Ces coordonnées peuvent parfois être négatives, et dans ce cas mon application ne les traite pas...
Je ne comprends pas pourquoi, pourriez vous m'aidez svp ?
vb95
Messages postés3472Date d'inscriptionsamedi 11 janvier 2014StatutContributeurDernière intervention13 avril 2024169 24 janv. 2018 à 18:16
Bonjour
Vb 6 est loin pour moi mais de souvenir :
1) Val ne passe pas les valeurs en Double : il donne à une variable d'un type numérique la valeur contenue dans une chaine de caractères
Pour que la variable soit un double il faut la déclarer ainsi
Dim valLatLong as Double = Val(LongNO.Text)
2) De plus MSFlexGrid1.TextMatrix(i, 1) contient une chaine de caractères et non une valeur numérique .
La syntaxe correcte serait
if Cdbl(MSFlexGrid1.TextMatrix(i, 1).Text) < valLatLong
Cdbl convertit une variable en type Double
Mets aussi dans les propriétés de ton projet Option Explicit sur On et Option Strict sur On
Ceci oblige à déclarer toutes les variables et évitent les liaisons tardives
Malokoxis
Messages postés83Date d'inscriptionlundi 3 janvier 2011StatutMembreDernière intervention22 février 20212 24 janv. 2018 à 18:46
24 janv. 2018 à 18:46