VB
Fermé
yasmina
-
25 oct. 2008 à 00:02
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 25 oct. 2008 à 00:43
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 25 oct. 2008 à 00:43
A voir également:
- VB
- Vb cable - Télécharger - Audio & Musique
- Vb - Télécharger - Langages
- Vb editor - Télécharger - Langages
- Vb runtime - Télécharger - Divers Utilitaires
- Vb 6.0 ✓ - Forum VB / VBA
1 réponse
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
25 oct. 2008 à 00:43
25 oct. 2008 à 00:43
Bonjour,
Cette fonction reçoit en paramètre d'entrée txt de type string (alphanumérique) certainement saisie par l'utilisateur dans un textbox et retourne un Double (nombre décimal).
InStr(text, ",") renvoie la position du caractère "," dans la chaine de caractère "text" ou 0 si elle ne trouve pas le caractère (stocké dans la variable "pos").
Si "pos" est supérieur à 0 alors on positionne un "." à l'emplacement trouvé : Mid(text, pos) = "."
Ensuite la fonction renvoie la valeur de "text" en double.
On peut également faire :
Ce qui revient strictement à la même chose.
S'il on veut être puriste on doit même s'assurer que la valeur passée en paramètre est bien de type numérique, pour éviter de faire planter l'appli en d'une erreur de saisie :
Bonne continuation
;o)
Polux
Cette fonction reçoit en paramètre d'entrée txt de type string (alphanumérique) certainement saisie par l'utilisateur dans un textbox et retourne un Double (nombre décimal).
InStr(text, ",") renvoie la position du caractère "," dans la chaine de caractère "text" ou 0 si elle ne trouve pas le caractère (stocké dans la variable "pos").
Si "pos" est supérieur à 0 alors on positionne un "." à l'emplacement trouvé : Mid(text, pos) = "."
Ensuite la fonction renvoie la valeur de "text" en double.
On peut également faire :
Function value(text As String) As Double text = Replace(text, ",", ".") value = Val(text) End Function
Ce qui revient strictement à la même chose.
S'il on veut être puriste on doit même s'assurer que la valeur passée en paramètre est bien de type numérique, pour éviter de faire planter l'appli en d'une erreur de saisie :
Function value(text As String) As Double If IsNumeric(text) Then text = Replace(text, ",", ".") value = Val(text) Else MsgBox "La valeur n'est pas de type numérique", vbExclamation, "Erreur de saisie" Exit Function End If End Function
Bonne continuation
;o)
Polux