besoin d'un petit coup de main sur Usrform et calcul

angoul

XLDnaute Impliqué
bonsoir,

j'ai une userform ou je saisie un code article, une quantité et un prix

quand je saisir une quantité avec un chiffre entier ou a virgule au dessus de zero cela marche tres bien, par contre quand je saisie 0,20 par exemple et saisie mon prix 1, alors rien se passe.

quelqu'un pourrait t'il m'aider?

j'ai mis mon fichier ici :
Cijoint.fr - Service gratuit de dépôt de fichiers

merci d'avance
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : besoin d'un petit coup de main sur Usrform et calcul

Bonjour

il faut comprendre que dans les textbox il s'agit de texte il faut donc convertir du genre

CDbl(Replace(txtprix.Value, ".", ","))

Cela te convertit ta valeur de ton textbox txtprix en numerique et cela que ce soit un point ou une virgule en séparation
 

angoul

XLDnaute Impliqué
Re : besoin d'un petit coup de main sur Usrform et calcul

merci, de ton astuce, mais le probleme qui ce passe c'est que j'ai deja sa comme formule dans mon texbox :

Private Sub Txtprix_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
If Not IsNumeric(txtprix.Value) Or txtprix.Value <= 0 Then
MsgBox "Valeur numérique obligatoire !", vbOKOnly + vbExclamation, "ERREUR"
txtprix.Value = ""
Cancel = True
End If

End Sub

je doit mettre ou ta formule dans la mienne

merci d'avance
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : besoin d'un petit coup de main sur Usrform et calcul

re

tu n'auras jamais du numerique dans un textbox

donc ton test est erroné par définition

alors biensûr si tu as juste un nombre VBA retranscrit ton nombre "texte" en nombre mais si tu as une virgule ou un point là il dit toujours non numérique

essaies plutot du style

Private Sub Txtprix_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
on error goto erreur
toto=CDbl(Replace(txtprix.Value, ".", ","))
exit sub
erreur:
MsgBox "Valeur numérique obligatoire !", vbOKOnly + vbExclamation, "ERREUR"
txtprix.Value = ""
End Sub
 

angoul

XLDnaute Impliqué
Re : besoin d'un petit coup de main sur Usrform et calcul

dsl mais cela ne marche pas
Private Sub Txtprix_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
on error goto erreur
txtprix=CDbl(Replace(txtprix.Value, ".", ","))
exit sub
erreur:
MsgBox "Valeur numérique obligatoire !", vbOKOnly + vbExclamation, "ERREUR"
txtprix.Value = ""
End Sub
j'ai remplacer ton toto pas txtprix
en plus j'ai plus mon message d'erreur si je rentre le chiffre 0 ou si je laisse vide. je veut que le champs soit obilgatoir avec un message qui dit qu'il est pas bon.

encore merci
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : besoin d'un petit coup de main sur Usrform et calcul

re

essaies ceci

Private Sub Txtprix_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)

toto = CDbl(Replace(txtprix.Value, ".", ","))
If toto <= 0 Then MsgBox "impossible"
Exit Sub
erreur:
MsgBox "Valeur numérique obligatoire !", vbOKOnly + vbExclamation, "ERREUR"
txtprix.Value = ""

End Sub
 

job75

XLDnaute Barbatruc
Re : besoin d'un petit coup de main sur Usrform et calcul

Bonjour angoul, salut Pascal,

Perso j'écrirais :

Code:
If IsNumeric(Replace(txtprix.Value, ".", ",")) Or IsNumeric(Replace(txtprix.Value, ",", ".")) Then Exit Sub
MsgBox "Valeur numérique obligatoire !", vbOKOnly + vbExclamation, "ERREUR"
txtprix.Value = ""

De cette manière ça fonctionne quelque soit le séparateur décimal utilisé par l'ordinateur.

A+
 
Dernière édition:

angoul

XLDnaute Impliqué
Re : besoin d'un petit coup de main sur Usrform et calcul

merci de votre aide, j'ai essayer ta formule job75, mais helas quand je tape 0.20 en quantite, il m'affiche dans ma listbox 0.01, bizarre

pour ta formule pascal
j'ai une erreur sur les lignes :
Private Sub Txtprix_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
toto = CDbl(Replace(txtprix.Value, ".", ","))
il me met la premiere en jaune et surligne le mot toto

quelqu'un peut m'expliquer??
merci
 
Dernière édition:

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : besoin d'un petit coup de main sur Usrform et calcul

RE

oups excuses j'avais zappé ton message d'hier

essaies

Private Sub Txtprix_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
Dim toto as DOuble
toto = CDbl(Replace(txtprix.Value, ".", ","))
 

angoul

XLDnaute Impliqué
Re : besoin d'un petit coup de main sur Usrform et calcul

je t'excuse pas pascal, c'est moi qui doit plutot m'excuser de prendre ton temps

j'ai copier ta formule j'ai plus de beug, mais toujour une erreur au niveau de mon tableau
je tape 0.20 en quantite, il m'affiche dans ma listbox 0.01

merci encore de ton aide.
 

job75

XLDnaute Barbatruc
Re : besoin d'un petit coup de main sur Usrform et calcul

Bonjour angoul, salut Pascal,

Regardant de nouveau le 1er fichier envoyé, j'ai remarqué une inversion des noms pour les 2 TextBox txtprix et Textquant...

Cela explique peut-être vos problèmes.

A+
 

angoul

XLDnaute Impliqué
Re : besoin d'un petit coup de main sur Usrform et calcul

oui j'ai vu cela, j'ai bien essayer de modifier ce probleme, mais helas j'y arrive pas, je suis trop nul je pense. quand je change les noms plus rien ne marche.

Si vous pouvez me corriger se probleme cela sera sympa.

merci
 

Discussions similaires

Statistiques des forums

Discussions
314 588
Messages
2 110 989
Membres
111 002
dernier inscrit
Lolo73i