Nombres négatif

Signaler
Messages postés
83
Date d'inscription
lundi 3 janvier 2011
Statut
Membre
Dernière intervention
22 février 2021
-
Messages postés
83
Date d'inscription
lundi 3 janvier 2011
Statut
Membre
Dernière intervention
22 février 2021
-
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 ?

Merci.

1 réponse

Messages postés
2427
Date d'inscription
samedi 11 janvier 2014
Statut
Contributeur
Dernière intervention
6 mai 2021
137
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

Messages postés
83
Date d'inscription
lundi 3 janvier 2011
Statut
Membre
Dernière intervention
22 février 2021
2
Merci pour la fonction Cdbl, je vais essayer.