J'ai présentement un problème dans mon petit programme de comptabilité que je suis créer, j'essaie d'entrée la fonction "not isnumeric" afin qu'un utilisateur ne puisse pas entrée des lettres a la place des chiffre mais j'ai une fenêtre d'erreur qui m'apparaît
voilà si jamais je peux me faire aide sur ca je vous remercie d'avance
Merci ! Simon
Bonjour Simon,
Il faut que tu testes en 1er si txtPrix est numérique. car l'erreur apparait au moment ou VB évalue l'expression CCur(txtPrix) donc en rentrant dans le If
Tu dois mettre un truc du genre : If Not IsNumeric(TxtPrix) then msgbox "erreur de saisie" Elseif (CCur(txtprix.Text) >= 0) Then ... Else ... End If
voilà si jamais je peux me faire aide sur ca je vous remercie
d'avance
Merci !
Simon
Bonjour Simon,
Il faut que tu testes en 1er si txtPrix est numérique.
car l'erreur apparait au moment ou VB évalue l'expression CCur(txtPrix)
donc en rentrant dans le If
Tu dois mettre un truc du genre :
If Not IsNumeric(TxtPrix) then
msgbox "erreur de saisie"
Elseif (CCur(txtprix.Text) >= 0) Then
...
Else
...
End If
voilà si jamais je peux me faire aide sur ca je vous remercie d'avance
Merci ! Simon
Bonjour Simon,
Il faut que tu testes en 1er si txtPrix est numérique. car l'erreur apparait au moment ou VB évalue l'expression CCur(txtPrix) donc en rentrant dans le If
Tu dois mettre un truc du genre : If Not IsNumeric(TxtPrix) then msgbox "erreur de saisie" Elseif (CCur(txtprix.Text) >= 0) Then ... Else ... End If
à première vue il te manque une (2) paranthèse dans l'expression ci-haut : '*** lblgtotal2.Caption = CStr((Round(CCur(txtprix.Text) + (CCur(lbltps2.Caption) * CCur(lbltvq2.Caption)), 2))) '***
Maintenant quelques p'tits conseils..
La fonction IsNumeric() n'est pas vraiment conseiller.. elle renvoit vrai si une expression peut être interprété comme étant un nombre sauf qu'elle comporte des lacunes. Voici un vieux message qui explique pourquoi et qui propose une solide alternative : http://groups.google.com/groups?threadm=%23C4SvfvcDHA.2296%40TK2MSFTNGP09.phx.gbl
La fonction Round() quand à elle arrondi les nombres selon un algorithme appelée "Banking Rounding". Cet algortihme évite d'accumuler un écart positif en arrondissant toujours au nombre pair le plus près (des fois vers le haut, des fois vers le bas). Lit la fiche suivante pour plus de détail : http://support.microsoft.com/default.aspx?kbid6652
La fonction Format$() serait peut-être plus approprié dans ton cas...
à première vue il te manque une (2) paranthèse dans l'expression ci-haut :
'***
lblgtotal2.Caption = CStr((Round(CCur(txtprix.Text) + (CCur(lbltps2.Caption)
* CCur(lbltvq2.Caption)), 2)))
'***
Maintenant quelques p'tits conseils..
La fonction IsNumeric() n'est pas vraiment conseiller.. elle renvoit vrai si
une expression peut être interprété comme étant un nombre sauf qu'elle
comporte des lacunes. Voici un vieux message qui explique pourquoi et qui
propose une solide alternative :
http://groups.google.com/groups?threadm=%23C4SvfvcDHA.2296%40TK2MSFTNGP09.phx.gbl
La fonction Round() quand à elle arrondi les nombres selon un algorithme
appelée "Banking Rounding". Cet algortihme évite d'accumuler un écart
positif en arrondissant toujours au nombre pair le plus près (des fois vers
le haut, des fois vers le bas). Lit la fiche suivante pour plus de détail :
http://support.microsoft.com/default.aspx?kbid6652
La fonction Format$() serait peut-être plus approprié dans ton cas...
à première vue il te manque une (2) paranthèse dans l'expression ci-haut : '*** lblgtotal2.Caption = CStr((Round(CCur(txtprix.Text) + (CCur(lbltps2.Caption) * CCur(lbltvq2.Caption)), 2))) '***
Maintenant quelques p'tits conseils..
La fonction IsNumeric() n'est pas vraiment conseiller.. elle renvoit vrai si une expression peut être interprété comme étant un nombre sauf qu'elle comporte des lacunes. Voici un vieux message qui explique pourquoi et qui propose une solide alternative : http://groups.google.com/groups?threadm=%23C4SvfvcDHA.2296%40TK2MSFTNGP09.phx.gbl
La fonction Round() quand à elle arrondi les nombres selon un algorithme appelée "Banking Rounding". Cet algortihme évite d'accumuler un écart positif en arrondissant toujours au nombre pair le plus près (des fois vers le haut, des fois vers le bas). Lit la fiche suivante pour plus de détail : http://support.microsoft.com/default.aspx?kbid6652
La fonction Format$() serait peut-être plus approprié dans ton cas...
En outre, il faut éviter isnumeric pour les raisons décrites dans cet article: http://groups.google.com/groups?selm=%23c4VQqb4CHA.2392%40TK2MSFTNGP09.phx.gbl
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
"Eric" a écrit dans le message de news:
"=?Utf-8?B?U2ltb24gTGFyYW3DqWU=?=" écrivait news:: Tu dois mettre un truc du genre : If Not IsNumeric(TxtPrix) then msgbox "erreur de saisie" Elseif (CCur(txtprix.Text) >= 0) Then
Hello,
En outre, il faut éviter isnumeric pour les raisons décrites dans cet
article:
http://groups.google.com/groups?selm=%23c4VQqb4CHA.2392%40TK2MSFTNGP09.phx.gbl
--
François Picalausa (MVP VB)
http://faq.vb.free.fr --- http://msdn.microsoft.com
http://apisvb.europe.webmatrixhosting.net
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de
news:XnF9502A6B8A1D66fframZZhotmailcom@207.46.248.16
"=?Utf-8?B?U2ltb24gTGFyYW3DqWU=?=" <simonlaramee666@hotmail.com>
écrivait news:29542EB7-0EE9-46A8-AB6F-A8EF4E7FC973@microsoft.com:
Tu dois mettre un truc du genre :
If Not IsNumeric(TxtPrix) then
msgbox "erreur de saisie"
Elseif (CCur(txtprix.Text) >= 0) Then
En outre, il faut éviter isnumeric pour les raisons décrites dans cet article: http://groups.google.com/groups?selm=%23c4VQqb4CHA.2392%40TK2MSFTNGP09.phx.gbl
-- François Picalausa (MVP VB) http://faq.vb.free.fr --- http://msdn.microsoft.com http://apisvb.europe.webmatrixhosting.net
"Eric" a écrit dans le message de news:
"=?Utf-8?B?U2ltb24gTGFyYW3DqWU=?=" écrivait news:: Tu dois mettre un truc du genre : If Not IsNumeric(TxtPrix) then msgbox "erreur de saisie" Elseif (CCur(txtprix.Text) >= 0) Then