Ecart décimal entre VBA et Excel

Mathieulai -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, j'ai un écart entre le résultat retourné par une formule Excel d'un côté et la même en VBA de l'autre. Je ne sais pas d'où cela vient et n'arrive pas à le résorber.

Voici le fichier : http://dl.free.fr/gEn4FKCOG

Voici le code VBA (résumé à la partie en cause) :

Function Prod(Remise As Single, Rs As Single) As Single
Prod = Remise * (1 - Rs)
End Function

Remise = 0,15
Rs = 0,10

VBA => Prod = 0,135000005364418
Excel => 0,135

Et dans la suite du code j'arrondis tout ça donc j'ai des écarts.

Merci pour votre aide.

1 réponse

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    bonjour
    le type single pose souvent des pb lorsqu'on le rentre des calculs

    si tu passes en double tu obtiens bien la m^ chose qu'en XL

    Function Prod(Remise As Double, Rs As Double) As Double
    --
    Michel
    0
    1. Mathieulai
       
      Merci Michel, par contre le type de variable Double (8 bytes) pèse le double (par définition) que Single (4 bytes) et des variables j'en ai beaucoup dans mon code. Mais si je n'ai pas le choix.
      0
      1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320 > Mathieulai
         
        lorsque la fonction est terminée, le type des variables est annulé
        0