Somme avec dicimal ?

Résolu
hish24 Messages postés 4 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 8 mars 2008 - 2 mars 2008 à 21:25
hish24 Messages postés 4 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 8 mars 2008 - 8 mars 2008 à 18:08
bonsoir tout le monde j'est un probléme qui est le suivant j'ai des text box qui recoivent des chiffres avec dicimale ca s'est simple
mais quand je faire la somme de ces textbox dans ma text box55(total) !il n'affiche pas la dicimale seul les chiffres avant la vergule sont affiché :voici le code :

 Dim k As Integer
With userform1
.TextBox55.Value = 0
For k = 18 To 34
TextBox55 = TextBox55.value + Val(.Controls("TextBox" & k).value)
Next k
End With

merci pour tout intiative

8 réponses

keke4483 Messages postés 17 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 6 mars 2008
2 mars 2008 à 21:40
Salut,
C'est surement à cause de la fonction Val() qui retourne une valeur entière utilise plutot une fonction genre CSng() ou CDbl()

Bon courage.

-=KeKe4483=-
3
hish24 Messages postés 4 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 8 mars 2008
7 mars 2008 à 10:20
bonsoir voici le nouveau code :

 Dim k As Integer
With userform1
.TextBox55.Value = 0
For k = 18 To 34
TextBox55.Value = TextBox55 + CSng(.Controls("TextBox" & k).Text)
Next k
End With


merci d'avoir repondu et je compte beucoup sur votre aide


 
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
3 mars 2008 à 08:40
Bonjour,

Val n'est bon que si le séparateur décimal est le point

Dans ce cas (si tu utilises la virgule) :

- soit tu utilises alors Ccur (voir ce mot dans ton aide en ligne)
- soit tu remplaces d'abord la virgule par le point (fonction Replace) et tu utilises Val
0
hish24 Messages postés 4 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 8 mars 2008
5 mars 2008 à 21:46
merci pour tout ces precieuse informations mais un petit probléme , les chiffres derriere la vergule sont nombreu en plus erreur 13
merci pour plus d'aide
0

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

Posez votre question
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
5 mars 2008 à 23:36
Où en es-tu rendu avec ton code ?
Qu'as-tu changé ?

L'erreur 13 veut dire que tu utilises le mauvais type de données. Comme additionner du texte, disons...

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
7 mars 2008 à 11:33
Pour les chiffres derrière la virgule, tu peux changer l'affichage en utilisant Format
Textbox55.Text = Format(Textbox55.text, "0.00")
pour avoir 2 décimales

Tu pourrais aussi regarder du côté de Round et voir si ça peut faire ton affaire.

Pour l'erreur 13, essaie comme ceci
TextBox55.Value = CSng(TextBox55.Text) + CSng(.Controls("TextBox" & k).Text)
Sinon, il faudrait savoir ce que contiennent tous les textbox de 18 à 34
Il se peut qu'une des valeurs ne soit pas considérée comme un chiffre. Ça pourrait être un point au lieu d'une virgule ou l'inverse, selon le cas... ou autre chose...

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
7 mars 2008 à 11:35
De plus, si les nombres peuvent être grands, tu devrais utiliser CDbl au lieu de CSng

Et tu pourrais utiliser une variable plutôt que de mettre le résultat de l'addition directement dans le textbox55. Une fois la boucle terminée, tu mets le résultat dans ce textbox en utilisant la fonction Format comme expliquée...

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI
0
hish24 Messages postés 4 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 8 mars 2008
8 mars 2008 à 18:08
merci pour tout j'est reussi a avoir le format disiré grace a vaux conseilles , en plus pour l'erreur 13 je croix que le probléme venait des textbox vide alors j'est affecté un "0" au demmarage de l' usf  a tout les textbox est c'est reglé , merci encore et a une autre fois
0
Rejoignez-nous