Division dans VBA réduit le nombre de décimales

robininio Messages postés 2 Statut Membre -  
robininio Messages postés 2 Statut Membre -
Bonjour,

J'ai mis un code en place pour faire une division de deux montants dans VBA.

Le problème est que VBA limite le nombre de décimales.

Comment puis-je garder le nombre de décimales illimitées ?

mon code est le suivant:

Dim devise2 as double
devise2= -range( "R"&i).value / range("T"&i)
range("U"&i).value = devise2

le résultat est limité à 3 décimales alors que le résultat original a au moins 16 décimales.

Merci,

Robin,

3 réponses

michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour

en déclarant ta variable en double
d'après l'aide Excel

Double, type de données
Type de données stockant sur 64 bits les nombres à virgule flottante en double précision compris entre -1,79769313486231E308 et -4,94065645841247E-324 pour les valeurs négatives, et entre 4,94065645841247E-324 et 1,79769313486232E308 pour les valeurs positives. Dans Visual Basic, le signe dièse (#) est le caractère de déclaration du type Double.


tu as donc jusqu'à 13 décimales maxi d'affiché

Option Explicit
'-----------------
Sub decimales()
Dim devise As Double
devise = Range("A2") / Range("B2")
MsgBox devise ' pour essai
Range("C2") = devise
End Sub


et dans C2
il faut mettre au format-nombre décimale à 13

1
robininio Messages postés 2 Statut Membre
 
Bonjour,

merci pour vos réponses.

Le problème vient de la conversion en CSV.

Les décimales sont presente dans l'excel mais quand je le save au format csv, ca m’enlève des décimales.

Avez vous déjà eu ce problème ?

Merci de votre aide,

Robin,
0
yclik Messages postés 3985 Date d'inscription   Statut Membre Dernière intervention   1 579
 
Bonsoir
Peut être en déclarant la variable en "Integer" ou "Long"

voir là
-2
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 279
 
Bonjour,

répond pas au hasard stp ;-)
Il veut des décimales et tu proposes des entiers. Difficile d'être plus à coté de la plaque...
eric
0