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

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  2. 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
  3. yclik Messages postés 3875 Date d'inscription   Statut Membre Dernière intervention   1 611
     
    Bonsoir
    Peut être en déclarant la variable en "Integer" ou "Long"

    voir là
    -2
    1. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
       
      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