[newbie] probleme avec nombre

Résolu
CHKDSK2K Messages postés 144 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 18 septembre 2007 - 12 nov. 2004 à 15:26
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 12 nov. 2004 à 18:02
Bonjour,

Je voudrais savoir si il y a une fonction qui permet de verf si ce que l'on a entré est bien un nombre ... cad
123 OK, 123.33 OK, 13.33.33 => Erreur

Merci de votre aide

DOS-chkdsk-2K

11 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
12 nov. 2004 à 15:45
Utilise la fonction IsNumeric pour faire cà. Elle te renvoie False si l'expression que tu lui passe n'est pas un nombre valide.

Par contre, il faut remplacer les points par des virgules. Pour se faire, utilise la fonction Replace.
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
3
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
12 nov. 2004 à 15:44
Dim Buffer as String
Buffer = InputBox("Entrez un nombre")
If Not IsNumeric(Buffer) then
  Msgbox "T'es vraiment ""Naz du Slip"" toi !!!!"
Else 
  MsgBox "C'est bien !! T'es un gentils gars !!"
End If


Christophe R.
0
CHKDSK2K Messages postés 144 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 18 septembre 2007
12 nov. 2004 à 16:21
Hello

Je n'ai pas encore chossi entre les deux fonctions ...

si on tape 00.1 ou 00,1 laquel des deux va me dire faux ?

Encore merci d'avoir repondu si rapidement ...

DOS-chkdsk-2K
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
12 nov. 2004 à 16:27
Salut,
Ca dépend de tes options régionales, si tu as un point comme séparateur, isnumeric("0.1") te renvoie vrai.

Cordialement, CanisLupus
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
CHKDSK2K Messages postés 144 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 18 septembre 2007
12 nov. 2004 à 16:32
DARKSIDIOUS > salut j'ai tapé 1000,11.11111 et il me renvoit bon c'est normal ?

DOS-chkdsk-2K
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
12 nov. 2004 à 16:55
Non c'est pas du tout normal !

Sinon, tu peux toujours tester caractère par caractère : s'il y a 2 (ou plus)virgules, 2 points (ou plus), 1 point et 1 virgule, le nombre n'est pas valide. Et tester si chaque caractère et un chiffre, une virgule, ou un point. Tout cela avec la fonction VB Mid.

_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
CHKDSK2K Messages postés 144 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 18 septembre 2007
12 nov. 2004 à 17:07
alors ce que je fait avec Mid, je peu faire qu'il verrifie si le 1 est compris entre le code ascii du 0 et 9 etc ...

DOS-chkdsk-2K
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
12 nov. 2004 à 17:11
Il y a déjà eu un topic sur ce sujet :
http://www.vbfrance.com/forum.v2.aspx?ID=327467

Cordialement, CanisLupus
0
CHKDSK2K Messages postés 144 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 18 septembre 2007
12 nov. 2004 à 17:15
Oui mais le point ou la virgule c'est pas le probleme le probleme est qu'il me dit bon alors que je tape 100.0.0.0.321 alors que ce n'est pas un nombre a virgule ca ?

DOS-chkdsk-2K
0
CHKDSK2K Messages postés 144 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 18 septembre 2007
12 nov. 2004 à 17:19
pour la verificaiton avec IsNumeric ok mais apres je regarde si dans la chaine je recontre deux fois ",' alors mauvais
DOS-chkdsk-2K
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
12 nov. 2004 à 18:02
Si tu codes isnumeric("100.0.0.0.321") ça te renverra faux si tu es configuré en séparateur décimal = point mais vrai si tu es configuré en séparateur de millier = point.

C'est ça le problème, comment faire la différence entre séparateur de millier et séparateur décimal ?

Jusqu'à présent, dans les progs que je développe, je force la saisie dans les keypress en n'autorisant que les séparateurs décimaux correspondant au système, sans séparateur de milliers.

Pour la lecture de fichiers texte contenant des nombres avec séparateurs de milliers autres que " ", j'avoue que je n'ai pas encore trouvé LE truc. J'ai essayé plein de choses mais il y a toujours des incompatibilités.
Sinon, il faut connaître d'avance le format des nombres dans le fichier texte.

Si quelqu'un à le convertisseur universel............

Cordialement, CanisLupus
0
Rejoignez-nous