Bonjour,
Voilà un certain temps que je recherche la solution à ce problème :
Comment vérifier qu'une variable issue d'une zone de texte est de type réel.
J'ai essayé de résoudre mon problème avec VarType() mais la fonction
interprète l'argument comme étant une chaine de caractère.
Si je fais Vartype(Val(text1.text)) cela retourne 5 même si la valeur de la
variable estde type entier.
PB...........
Aurriez-vous une solution à ce problème ? Merci.
Bonjour,
Voilà un certain temps que je recherche la solution à ce problème :
Comment vérifier qu'une variable issue d'une zone de texte est de type réel.
J'ai essayé de résoudre mon problème avec VarType() mais la fonction
interprète l'argument comme étant une chaine de caractère.
Si je fais Vartype(Val(text1.text)) cela retourne 5 même si la valeur de la
variable estde type entier.
PB...........
Aurriez-vous une solution à ce problème ? Merci.
Bonjour,
Voilà un certain temps que je recherche la solution à ce problème :
Comment vérifier qu'une variable issue d'une zone de texte est de type réel.
J'ai essayé de résoudre mon problème avec VarType() mais la fonction
interprète l'argument comme étant une chaine de caractère.
Si je fais Vartype(Val(text1.text)) cela retourne 5 même si la valeur de la
variable estde type entier.
PB...........
Aurriez-vous une solution à ce problème ? Merci.
Bonjour,
Voilà un certain temps que je recherche la solution à ce problème :
Comment vérifier qu'une variable issue d'une zone de texte est de type
réel.
J'ai essayé de résoudre mon problème avec VarType() mais la fonction
interprète l'argument comme étant une chaine de caractère.
Si je fais Vartype(Val(text1.text)) cela retourne 5 même si la valeur de
la
variable estde type entier.
PB...........
Aurriez-vous une solution à ce problème ? Merci.
Bonjour,
Voilà un certain temps que je recherche la solution à ce problème :
Comment vérifier qu'une variable issue d'une zone de texte est de type
réel.
J'ai essayé de résoudre mon problème avec VarType() mais la fonction
interprète l'argument comme étant une chaine de caractère.
Si je fais Vartype(Val(text1.text)) cela retourne 5 même si la valeur de
la
variable estde type entier.
PB...........
Aurriez-vous une solution à ce problème ? Merci.
Bonjour,
Voilà un certain temps que je recherche la solution à ce problème :
Comment vérifier qu'une variable issue d'une zone de texte est de type
réel.
J'ai essayé de résoudre mon problème avec VarType() mais la fonction
interprète l'argument comme étant une chaine de caractère.
Si je fais Vartype(Val(text1.text)) cela retourne 5 même si la valeur de
la
variable estde type entier.
PB...........
Aurriez-vous une solution à ce problème ? Merci.
Bonjour,
Voilà un certain temps que je recherche la solution à ce problème :
Comment vérifier qu'une variable issue d'une zone de texte est de
type réel. J'ai essayé de résoudre mon problème avec VarType() mais
la fonction interprète l'argument comme étant une chaine de caractère.
Si je fais Vartype(Val(text1.text)) cela retourne 5 même si la valeur
de la variable estde type entier.
PB...........
Aurriez-vous une solution à ce problème ? Merci.
Bonjour,
Voilà un certain temps que je recherche la solution à ce problème :
Comment vérifier qu'une variable issue d'une zone de texte est de
type réel. J'ai essayé de résoudre mon problème avec VarType() mais
la fonction interprète l'argument comme étant une chaine de caractère.
Si je fais Vartype(Val(text1.text)) cela retourne 5 même si la valeur
de la variable estde type entier.
PB...........
Aurriez-vous une solution à ce problème ? Merci.
Bonjour,
Voilà un certain temps que je recherche la solution à ce problème :
Comment vérifier qu'une variable issue d'une zone de texte est de
type réel. J'ai essayé de résoudre mon problème avec VarType() mais
la fonction interprète l'argument comme étant une chaine de caractère.
Si je fais Vartype(Val(text1.text)) cela retourne 5 même si la valeur
de la variable estde type entier.
PB...........
Aurriez-vous une solution à ce problème ? Merci.
Bonjour,
As-tu essayé IsNumeric ?
Pour les entiers ça marche bien.
Après on pourrait regarder du côté de Like, mais je n'ai pas trouvé la
bonne "expression régulière" à fournir derrière.
En désespoir de cause on pourrait l'émuler par une fonction perso.
En espérant qu'il n'y ait pas besoin.
______________________________________
Gassane a écrit, le 19/10/2004 11:25 :Bonjour,
Voilà un certain temps que je recherche la solution à ce problème :
Comment vérifier qu'une variable issue d'une zone de texte est de
type réel. J'ai essayé de résoudre mon problème avec VarType() mais
la fonction interprète l'argument comme étant une chaine de
caractère. Si je fais Vartype(Val(text1.text)) cela retourne 5 même si la
valeur de la variable estde type entier.
PB...........
Aurriez-vous une solution à ce problème ? Merci.
Bonjour,
As-tu essayé IsNumeric ?
Pour les entiers ça marche bien.
Après on pourrait regarder du côté de Like, mais je n'ai pas trouvé la
bonne "expression régulière" à fournir derrière.
En désespoir de cause on pourrait l'émuler par une fonction perso.
En espérant qu'il n'y ait pas besoin.
______________________________________
Gassane a écrit, le 19/10/2004 11:25 :
Bonjour,
Voilà un certain temps que je recherche la solution à ce problème :
Comment vérifier qu'une variable issue d'une zone de texte est de
type réel. J'ai essayé de résoudre mon problème avec VarType() mais
la fonction interprète l'argument comme étant une chaine de
caractère. Si je fais Vartype(Val(text1.text)) cela retourne 5 même si la
valeur de la variable estde type entier.
PB...........
Aurriez-vous une solution à ce problème ? Merci.
Bonjour,
As-tu essayé IsNumeric ?
Pour les entiers ça marche bien.
Après on pourrait regarder du côté de Like, mais je n'ai pas trouvé la
bonne "expression régulière" à fournir derrière.
En désespoir de cause on pourrait l'émuler par une fonction perso.
En espérant qu'il n'y ait pas besoin.
______________________________________
Gassane a écrit, le 19/10/2004 11:25 :Bonjour,
Voilà un certain temps que je recherche la solution à ce problème :
Comment vérifier qu'une variable issue d'une zone de texte est de
type réel. J'ai essayé de résoudre mon problème avec VarType() mais
la fonction interprète l'argument comme étant une chaine de
caractère. Si je fais Vartype(Val(text1.text)) cela retourne 5 même si la
valeur de la variable estde type entier.
PB...........
Aurriez-vous une solution à ce problème ? Merci.
Salut,
Attention toutefois à IsNumeric, en effet elle est connu pour buguer,
Salut,
Attention toutefois à IsNumeric, en effet elle est connu pour buguer,
Salut,
Attention toutefois à IsNumeric, en effet elle est connu pour buguer,
Bonjour ng
(dans news:)
tu nous disais :Salut,
Attention toutefois à IsNumeric, en effet elle est connu pour buguer,
ah ? :-(
peux tu développer un peu, STP ?
merci
Bonjour ng
(dans news:ekAzVvetEHA.1720@TK2MSFTNGP14.phx.gbl)
tu nous disais :
Salut,
Attention toutefois à IsNumeric, en effet elle est connu pour buguer,
ah ? :-(
peux tu développer un peu, STP ?
merci
Bonjour ng
(dans news:)
tu nous disais :Salut,
Attention toutefois à IsNumeric, en effet elle est connu pour buguer,
ah ? :-(
peux tu développer un peu, STP ?
merci
Salut,
http://groups.google.fr/groups?q=isnumeric+group:*fr.vb*+author:Zoury&hl=fr&lr=&selm=OfNoq1ZCDHA.2396%40TK2MSFTNGP12.phx.gbl&rnum=3
Salut,
http://groups.google.fr/groups?q=isnumeric+group:*fr.vb*+author:Zoury&hl=fr&lr=&selm=OfNoq1ZCDHA.2396%40TK2MSFTNGP12.phx.gbl&rnum=3
Salut,
http://groups.google.fr/groups?q=isnumeric+group:*fr.vb*+author:Zoury&hl=fr&lr=&selm=OfNoq1ZCDHA.2396%40TK2MSFTNGP12.phx.gbl&rnum=3
Salut,
Effectivement, tout-à-l'heure j'ai fait le test avec
IsNumeric("($1 23 3,4 5 E67$)")
et ça renvoyait effectivement vrai, ce qui ne me choquait pas plus que
ça, même si il faudrait quand même se mettre à plusieurs pour gagner
ça, mais après avoir fait quelques autres tests je refais celui-ci et
cette fois ça me renvoie faux.
Avoir une réponse différente sur la même chaîne, c'est vrai que ça
c'est embêtant, surtout en n'ayant a priori aucune idée sur ce qui a
pu changer la réponse en dix minutes.
Il existe bien des "expressions régulières" à tester avec Like, mais à
moins que j'aie mal lu, en VB on ne sait pas tester ainsi un nombre
quelconque de chiffres, comme en Java on dirait "[0-9]*"
Function EauTiede(Flotte As Numeric)
Select Case ChaudPasChaud(Flotte)
Case vbTropChaud
EauTiede = MoinsChaud(Flotte)
Case vbTropFroid
EauTiede = MoinsFroid(Flotte)
Case Else
EauTiede = Flotte
End Select
End Function
_________________________________
ng a écrit, le 19/10/2004 21:42 :Salut,
http://groups.google.fr/groups?q=isnumeric+group:*fr.vb*+author:Zoury&hl=fr&lr=&selm=OfNoq1ZCDHA.2396%40TK2MSFTNGP12.phx.gbl&rnum=3
Salut,
Effectivement, tout-à-l'heure j'ai fait le test avec
IsNumeric("($1 23 3,4 5 E67$)")
et ça renvoyait effectivement vrai, ce qui ne me choquait pas plus que
ça, même si il faudrait quand même se mettre à plusieurs pour gagner
ça, mais après avoir fait quelques autres tests je refais celui-ci et
cette fois ça me renvoie faux.
Avoir une réponse différente sur la même chaîne, c'est vrai que ça
c'est embêtant, surtout en n'ayant a priori aucune idée sur ce qui a
pu changer la réponse en dix minutes.
Il existe bien des "expressions régulières" à tester avec Like, mais à
moins que j'aie mal lu, en VB on ne sait pas tester ainsi un nombre
quelconque de chiffres, comme en Java on dirait "[0-9]*"
Function EauTiede(Flotte As Numeric)
Select Case ChaudPasChaud(Flotte)
Case vbTropChaud
EauTiede = MoinsChaud(Flotte)
Case vbTropFroid
EauTiede = MoinsFroid(Flotte)
Case Else
EauTiede = Flotte
End Select
End Function
_________________________________
ng a écrit, le 19/10/2004 21:42 :
Salut,
http://groups.google.fr/groups?q=isnumeric+group:*fr.vb*+author:Zoury&hl=fr&lr=&selm=OfNoq1ZCDHA.2396%40TK2MSFTNGP12.phx.gbl&rnum=3
Salut,
Effectivement, tout-à-l'heure j'ai fait le test avec
IsNumeric("($1 23 3,4 5 E67$)")
et ça renvoyait effectivement vrai, ce qui ne me choquait pas plus que
ça, même si il faudrait quand même se mettre à plusieurs pour gagner
ça, mais après avoir fait quelques autres tests je refais celui-ci et
cette fois ça me renvoie faux.
Avoir une réponse différente sur la même chaîne, c'est vrai que ça
c'est embêtant, surtout en n'ayant a priori aucune idée sur ce qui a
pu changer la réponse en dix minutes.
Il existe bien des "expressions régulières" à tester avec Like, mais à
moins que j'aie mal lu, en VB on ne sait pas tester ainsi un nombre
quelconque de chiffres, comme en Java on dirait "[0-9]*"
Function EauTiede(Flotte As Numeric)
Select Case ChaudPasChaud(Flotte)
Case vbTropChaud
EauTiede = MoinsChaud(Flotte)
Case vbTropFroid
EauTiede = MoinsFroid(Flotte)
Case Else
EauTiede = Flotte
End Select
End Function
_________________________________
ng a écrit, le 19/10/2004 21:42 :Salut,
http://groups.google.fr/groups?q=isnumeric+group:*fr.vb*+author:Zoury&hl=fr&lr=&selm=OfNoq1ZCDHA.2396%40TK2MSFTNGP12.phx.gbl&rnum=3
Non en effet cela ne fonctionne pas avec Like, il faudrait utiliser des
classes RegEx plus complexes, sinon elle ne te plait pas cette fonction ? :
Function IsNumber(ByVal Value As String) As Boolean
' Leave the next statement out if you don't
' want to provide for plus/minus signs
Dim sDecimal As String
sDecimal = GetDecimalNotation
If Value Like "[+-]*" Then Value = Mid$(Value, 2)
IsNumber = Not Value Like "*[!0-9" & sDecimal & "]*" And _
Not Value Like "*" & sDecimal & "*" & sDecimal & "*"
And _
Len(Value) > 0 And Value <> sDecimal And _
Value <> vbNullString
End Function
Function GetDecimalNotation() As String
GetDecimalNotation = Mid$(CStr(0.1), 2, 1)
End Function
Non en effet cela ne fonctionne pas avec Like, il faudrait utiliser des
classes RegEx plus complexes, sinon elle ne te plait pas cette fonction ? :
Function IsNumber(ByVal Value As String) As Boolean
' Leave the next statement out if you don't
' want to provide for plus/minus signs
Dim sDecimal As String
sDecimal = GetDecimalNotation
If Value Like "[+-]*" Then Value = Mid$(Value, 2)
IsNumber = Not Value Like "*[!0-9" & sDecimal & "]*" And _
Not Value Like "*" & sDecimal & "*" & sDecimal & "*"
And _
Len(Value) > 0 And Value <> sDecimal And _
Value <> vbNullString
End Function
Function GetDecimalNotation() As String
GetDecimalNotation = Mid$(CStr(0.1), 2, 1)
End Function
Non en effet cela ne fonctionne pas avec Like, il faudrait utiliser des
classes RegEx plus complexes, sinon elle ne te plait pas cette fonction ? :
Function IsNumber(ByVal Value As String) As Boolean
' Leave the next statement out if you don't
' want to provide for plus/minus signs
Dim sDecimal As String
sDecimal = GetDecimalNotation
If Value Like "[+-]*" Then Value = Mid$(Value, 2)
IsNumber = Not Value Like "*[!0-9" & sDecimal & "]*" And _
Not Value Like "*" & sDecimal & "*" & sDecimal & "*"
And _
Len(Value) > 0 And Value <> sDecimal And _
Value <> vbNullString
End Function
Function GetDecimalNotation() As String
GetDecimalNotation = Mid$(CStr(0.1), 2, 1)
End Function
Si, c'est pas mal, astucieux même.
Dans ma base Access j'ai dû développer une fonction "SansVirgule" pour
transformer la virgule en point pour être sûr que mon artillerie
fonctionne dans tous les pays.
C'est ça que je trouve dommage. Pas moyen d'exploiter une chaîne
contenant un nombre de façon fiable sans développer des fonctions
perso. Tu me diras, ça ou peigner la giraffe, pendant ce temps-là on
gagne sa croûte. M'enfin ça donne à la concurrence le temps de
montrer qu'avec un autre produit on est prêt à déployer au bout d'un
an, là où avec Access on a passé trois ans (pour une usine à gaz il
faut dire). Même en étant ménagé comme il faut ça fait un drôle
d'effet.
Et au bout d'un an l'autre produit est capable d'afficher un
formulaire sans dire à l'utilisateur final "Votre programmeur est un
âne, là il a mis un entier alors qu'il fallait une chaîne de
caractères", ce dont à vrai dire l'utilisateur final se contre-fiche
comme de ses premières chaussettes (enfin dans le cas général).
Et encore, la gamme Office a pris la place de ses concurrents de
l'époque parce qu'elle faisait mieux précisément dans ces domaines de
gestion des types de données.
Là, je dois reconnaître que je commence à déborder du sujet.
A propos de RegEx, tiens j'ai l'impression qu'on va ouvrir un fil
là-dessus un de ces quatre : ça me paraît intéressant ce que tu dis
là. _________________________________
ng a écrit, le 20/10/2004 18:17 :Non en effet cela ne fonctionne pas avec Like, il faudrait utiliser
des classes RegEx plus complexes, sinon elle ne te plait pas cette
fonction ? : Function IsNumber(ByVal Value As String) As Boolean
' Leave the next statement out if you don't
' want to provide for plus/minus signs
Dim sDecimal As String
sDecimal = GetDecimalNotation
If Value Like "[+-]*" Then Value = Mid$(Value, 2)
IsNumber = Not Value Like "*[!0-9" & sDecimal & "]*" And _
Not Value Like "*" & sDecimal & "*" & sDecimal
& "*" And _
Len(Value) > 0 And Value <> sDecimal And _
Value <> vbNullString
End Function
Function GetDecimalNotation() As String
GetDecimalNotation = Mid$(CStr(0.1), 2, 1)
End Function
Si, c'est pas mal, astucieux même.
Dans ma base Access j'ai dû développer une fonction "SansVirgule" pour
transformer la virgule en point pour être sûr que mon artillerie
fonctionne dans tous les pays.
C'est ça que je trouve dommage. Pas moyen d'exploiter une chaîne
contenant un nombre de façon fiable sans développer des fonctions
perso. Tu me diras, ça ou peigner la giraffe, pendant ce temps-là on
gagne sa croûte. M'enfin ça donne à la concurrence le temps de
montrer qu'avec un autre produit on est prêt à déployer au bout d'un
an, là où avec Access on a passé trois ans (pour une usine à gaz il
faut dire). Même en étant ménagé comme il faut ça fait un drôle
d'effet.
Et au bout d'un an l'autre produit est capable d'afficher un
formulaire sans dire à l'utilisateur final "Votre programmeur est un
âne, là il a mis un entier alors qu'il fallait une chaîne de
caractères", ce dont à vrai dire l'utilisateur final se contre-fiche
comme de ses premières chaussettes (enfin dans le cas général).
Et encore, la gamme Office a pris la place de ses concurrents de
l'époque parce qu'elle faisait mieux précisément dans ces domaines de
gestion des types de données.
Là, je dois reconnaître que je commence à déborder du sujet.
A propos de RegEx, tiens j'ai l'impression qu'on va ouvrir un fil
là-dessus un de ces quatre : ça me paraît intéressant ce que tu dis
là. _________________________________
ng a écrit, le 20/10/2004 18:17 :
Non en effet cela ne fonctionne pas avec Like, il faudrait utiliser
des classes RegEx plus complexes, sinon elle ne te plait pas cette
fonction ? : Function IsNumber(ByVal Value As String) As Boolean
' Leave the next statement out if you don't
' want to provide for plus/minus signs
Dim sDecimal As String
sDecimal = GetDecimalNotation
If Value Like "[+-]*" Then Value = Mid$(Value, 2)
IsNumber = Not Value Like "*[!0-9" & sDecimal & "]*" And _
Not Value Like "*" & sDecimal & "*" & sDecimal
& "*" And _
Len(Value) > 0 And Value <> sDecimal And _
Value <> vbNullString
End Function
Function GetDecimalNotation() As String
GetDecimalNotation = Mid$(CStr(0.1), 2, 1)
End Function
Si, c'est pas mal, astucieux même.
Dans ma base Access j'ai dû développer une fonction "SansVirgule" pour
transformer la virgule en point pour être sûr que mon artillerie
fonctionne dans tous les pays.
C'est ça que je trouve dommage. Pas moyen d'exploiter une chaîne
contenant un nombre de façon fiable sans développer des fonctions
perso. Tu me diras, ça ou peigner la giraffe, pendant ce temps-là on
gagne sa croûte. M'enfin ça donne à la concurrence le temps de
montrer qu'avec un autre produit on est prêt à déployer au bout d'un
an, là où avec Access on a passé trois ans (pour une usine à gaz il
faut dire). Même en étant ménagé comme il faut ça fait un drôle
d'effet.
Et au bout d'un an l'autre produit est capable d'afficher un
formulaire sans dire à l'utilisateur final "Votre programmeur est un
âne, là il a mis un entier alors qu'il fallait une chaîne de
caractères", ce dont à vrai dire l'utilisateur final se contre-fiche
comme de ses premières chaussettes (enfin dans le cas général).
Et encore, la gamme Office a pris la place de ses concurrents de
l'époque parce qu'elle faisait mieux précisément dans ces domaines de
gestion des types de données.
Là, je dois reconnaître que je commence à déborder du sujet.
A propos de RegEx, tiens j'ai l'impression qu'on va ouvrir un fil
là-dessus un de ces quatre : ça me paraît intéressant ce que tu dis
là. _________________________________
ng a écrit, le 20/10/2004 18:17 :Non en effet cela ne fonctionne pas avec Like, il faudrait utiliser
des classes RegEx plus complexes, sinon elle ne te plait pas cette
fonction ? : Function IsNumber(ByVal Value As String) As Boolean
' Leave the next statement out if you don't
' want to provide for plus/minus signs
Dim sDecimal As String
sDecimal = GetDecimalNotation
If Value Like "[+-]*" Then Value = Mid$(Value, 2)
IsNumber = Not Value Like "*[!0-9" & sDecimal & "]*" And _
Not Value Like "*" & sDecimal & "*" & sDecimal
& "*" And _
Len(Value) > 0 And Value <> sDecimal And _
Value <> vbNullString
End Function
Function GetDecimalNotation() As String
GetDecimalNotation = Mid$(CStr(0.1), 2, 1)
End Function