OVH Cloud OVH Cloud

"# ##0.00" ou bien "# ##0,00"

2 réponses
Avatar
Didier
Bonsoir
J'ai cette procédure dans un userform
ActiveCell.Offset(0, 17) = Format(TextBox17, "# ##0.00")
cela fonctionne très bien, en revanche dès que je veux faire des stats avec
toutes les colonnes 17, cela ne fonctionne pas.
En revanche si je fait (TextBox17, "# ##0,00") mes stats se mettent à jour,
mais, je n'ai pas la valeur normale, elle s'affiche avec un arrondit si j'ai
25,36, cela devient dans la cellule 26, bien que celle-ci soit au format
avec 2 décimales ???
Je n'y comprends rien.
Une idée ?
Merci beaucoup
Didier


--
Pour passer un examen, c'est comme pour nettoyer un vêtement :
On mouille, on sèche et on repasse ;o))

2 réponses

Avatar
Benead
Salut Didier,

Il faut d'abord définir le format de ta cellule puis lui envoyer la valeur :

ActiveCell.Offset(0, 0).NumberFormat = "#,##0.00"
ActiveCell.Offset(0, 0).Value = CDbl(TextBox1)

Ce que tu faisais, c'est envoyer une chaine de caractère en laissant le format de ta cellule en standard.
Dans ton second essai, le format "# ##0,00" correspond au format de nombre "# ## 000" quand tu le saisis sous Excel ;
il me semble que la virgule dans le format anglo-saxon est un séparateur de millier, donc tes décimales disparaissaient.
Si tu préfères, tu peux remplacer NumberFormat par NumberFormatLocal ; ce cette façon tu pourras utiliser le format de
cellule à l'identique qu'avec Excel.

A+
Benead
XL97

Didier a écrit:
Bonsoir
J'ai cette procédure dans un userform
ActiveCell.Offset(0, 17) = Format(TextBox17, "# ##0.00")
cela fonctionne très bien, en revanche dès que je veux faire des stats avec
toutes les colonnes 17, cela ne fonctionne pas.
En revanche si je fait (TextBox17, "# ##0,00") mes stats se mettent à jour,
mais, je n'ai pas la valeur normale, elle s'affiche avec un arrondit si j'ai
25,36, cela devient dans la cellule 26, bien que celle-ci soit au format
avec 2 décimales ???
Je n'y comprends rien.
Une idée ?
Merci beaucoup
Didier




Avatar
Didier
Bravo et merci Benead.
cela fonctionne parfaitement,
c'est très sympa de ta part toutes ces explications.
Bonne soirée
Didier

"Benead" a écrit dans le message de
news:
Salut Didier,

Il faut d'abord définir le format de ta cellule puis lui envoyer la valeur
:

ActiveCell.Offset(0, 0).NumberFormat = "#,##0.00"
ActiveCell.Offset(0, 0).Value = CDbl(TextBox1)

Ce que tu faisais, c'est envoyer une chaine de caractère en laissant le
format de ta cellule en standard.
Dans ton second essai, le format "# ##0,00" correspond au format de nombre
"# ## 000" quand tu le saisis sous Excel ; il me semble que la virgule
dans le format anglo-saxon est un séparateur de millier, donc tes
décimales disparaissaient.
Si tu préfères, tu peux remplacer NumberFormat par NumberFormatLocal ; ce
cette façon tu pourras utiliser le format de cellule à l'identique qu'avec
Excel.

A+
Benead
XL97

Didier a écrit:
Bonsoir
J'ai cette procédure dans un userform
ActiveCell.Offset(0, 17) = Format(TextBox17, "# ##0.00")
cela fonctionne très bien, en revanche dès que je veux faire des stats
avec toutes les colonnes 17, cela ne fonctionne pas.
En revanche si je fait (TextBox17, "# ##0,00") mes stats se mettent à
jour, mais, je n'ai pas la valeur normale, elle s'affiche avec un
arrondit si j'ai 25,36, cela devient dans la cellule 26, bien que
celle-ci soit au format avec 2 décimales ???
Je n'y comprends rien.
Une idée ?
Merci beaucoup
Didier