OVH Cloud OVH Cloud

cherche une fonction equivallente a isNumeric()

4 réponses
Avatar
waikup
bonjour a tous

j'aimerai savoir si vous n'auriez pas dans vos tiroirs une fonction
equivallante au isNumeric() qui puisse fonctionner correctement :
en fait j'obtient
?isnumeric("37A123")
Faux
?isnumeric("37E123")
Vrai

d'ou le hic
si vous avez une solution simple, je suis preneur
en vous remerciant d'avance

4 réponses

Avatar
Anor
Salut,

Cela est du au fait que access interprète le E comme un "10 exposant"
(37E123 = 37 * 10 puissance 123)

Voici un exemple de fonction alternative, (vite fait, hein ?) :

Function fIsNum(strTexte As String) As Boolean
Dim Position As Integer
If Len(strTexte) > 0 Then
For Position = 1 To Len(strTexte)
If Not IsNumeric(Mid$(strTexte, Position, 1)) Then: Exit Function
Next Position
fIsNum = True
End If
End Function


à+
--
Arnaud
-----------------------------------
http://users.skynet.be/mpfa/
-----------------------------------

"waikup" a écrit dans le message de news:
427502c0$0$21035$
| bonjour a tous
|
| j'aimerai savoir si vous n'auriez pas dans vos tiroirs une fonction
| equivallante au isNumeric() qui puisse fonctionner correctement :
| en fait j'obtient
| ?isnumeric("37A123")
| Faux
| ?isnumeric("37E123")
| Vrai
|
| d'ou le hic
| si vous avez une solution simple, je suis preneur
| en vous remerciant d'avance
|
|
|
Avatar
Gilbert
Bonjour

Si tu veux tester des nombres hexadécimaux, il te faut les faire précéder de
&H
Par exemple
IsNumeric(&H37A123) te renvoie Vrai

--
Gilbert


"waikup" a écrit dans le message de news:
427502c0$0$21035$
bonjour a tous

j'aimerai savoir si vous n'auriez pas dans vos tiroirs une fonction
equivallante au isNumeric() qui puisse fonctionner correctement :
en fait j'obtient
?isnumeric("37A123")
Faux
?isnumeric("37E123")
Vrai

d'ou le hic
si vous avez une solution simple, je suis preneur
en vous remerciant d'avance





Avatar
waikup
merci pour votre reponse,

je vais effectivement utiliser ce principe, car a priori je ne trouve rien
d'autre
merci encore
a+


"Anor" a écrit dans le message de news:
u$
Salut,

Cela est du au fait que access interprète le E comme un "10 exposant"
(37E123 = 37 * 10 puissance 123)

Voici un exemple de fonction alternative, (vite fait, hein ?) :

Function fIsNum(strTexte As String) As Boolean
Dim Position As Integer
If Len(strTexte) > 0 Then
For Position = 1 To Len(strTexte)
If Not IsNumeric(Mid$(strTexte, Position, 1)) Then: Exit Function
Next Position
fIsNum = True
End If
End Function


à+
--
Arnaud
-----------------------------------
http://users.skynet.be/mpfa/
-----------------------------------

"waikup" a écrit dans le message de news:
427502c0$0$21035$
| bonjour a tous
|
| j'aimerai savoir si vous n'auriez pas dans vos tiroirs une fonction
| equivallante au isNumeric() qui puisse fonctionner correctement :
| en fait j'obtient
| ?isnumeric("37A123")
| Faux
| ?isnumeric("37E123")
| Vrai
|
| d'ou le hic
| si vous avez une solution simple, je suis preneur
| en vous remerciant d'avance
|
|
|




Avatar
waikup
merci egalement pour votre reponse, en fait je voulais que
isnumeric("37A123") me renvoie faux, j'ai oublier de le preciser dans mon
message

a+


"Gilbert" a écrit dans le message de news:

Bonjour

Si tu veux tester des nombres hexadécimaux, il te faut les faire précéder
de &H
Par exemple
IsNumeric(&H37A123) te renvoie Vrai

--
Gilbert


"waikup" a écrit dans le message de news:
427502c0$0$21035$
bonjour a tous

j'aimerai savoir si vous n'auriez pas dans vos tiroirs une fonction
equivallante au isNumeric() qui puisse fonctionner correctement :
en fait j'obtient
?isnumeric("37A123")
Faux
?isnumeric("37E123")
Vrai

d'ou le hic
si vous avez une solution simple, je suis preneur
en vous remerciant d'avance