4 chiffres après la virgule : Currency arrondit, Single invente et format débloque..?

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Charly88

XLDnaute Occasionnel
Pour une fois que je trouvais ma réponse dans l'aide, je me retrouve le bec dans l'eau en choisissant d'utiliser une variable Currency.

L'aide dit :
Currency
(scaled integer) 8 bytes -922,337,203,685,477.5808 to 922,337,203,685,477.5807

Soit clairement 4 chiffres possible après la virgule.

Tandis que :
Single
(single-precision floating-point) 4 bytes -3.402823E38 to -1.401298E-45 for negative values; 1.401298E-45 to 3.402823E38 for positive values

Double
(double-precision floating-point) 8 bytes -1.79769313486231E308 to
-4.94065645841247E-324 for negative values; 4.94065645841247E-324 to 1.79769313486232E308 for positive values






Pourtant le code suivant arrondit au centiéme :
Dim t As Currency
t = 4.6144
MsgBox t
ActiveCell = t


Quant à celui-ci, il va carrément m'inventer des chiffres après le 4è !
Dim t As Single
t = 4.6144
MsgBox t
ActiveCell = t
'ActiveCell = Format(t, "0.000") 'renvoit 4 6144,000 !?

Le type double résout mon problème mais je n'y comprends rien O_0
Dim t As Double
t = 4.6144
MsgBox t
ActiveCell = t
 
Re : 4 chiffres après la virgule : Currency arrondit, Single invente et format débloq

Bonjour,

Le Type currency sert aux calculs monétaires sur 4 chiffres après la virgules mais affiche sur 2 dans les cellules. repasser en double pour conserver les 4 chiffres.

Code:
Sub tt()
Dim t As Currency
t = 4.6144
ActiveCell = CDbl(t)
End Sub
End Sub

Pour le single, tu fais une erreur, tu tente d'afficher un nombre au format Texte :

ActiveCell=Format(t,"0.0000") et excel essaie de le re-traduire en nombre
Correction:

Code:
Sub t2()
Dim t As Single
t = 4.6144
MsgBox t
ActiveCell = t
ActiveCell.NumberFormat = "0.000"
End Sub

Bien faire la différence entre valeur calculée par vba, valeur affichée et format de cellule.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour