Comment ne pas arrondir un chiffre dans VBA

Résolu
hydracom Messages postés 31 Statut Membre -  
hydracom Messages postés 31 Statut Membre -
Bonjour,

J'ai encore un petit soucis concernant la programmation VBA sous EXCel

en fait j'ai la colonne A avec des valeurs dans EXCEL, varient entre 0.40 et 100, par exemple : 0.42, 0.48, 0.61, 1.2

Je donne ces valeurs aux case d'une matrice correspondant intitulé matrice(1 to 100) par exemple

j'ai écris donc:

matrice(1) = range("A1").value
...
matrice(i) = range("A"& i &"").Value

Le problème c'est qu'il arrondi automatiquement mes chiffres, et lorsque je dois faire un calcul :

(matrice(10) - matrice(9)) / (matrice(2) - matrice(1))

il affiche erreur car le programme a arrondi mes valeurs tels que matrice(2) = 0 au lieu de 0.48 et matrice(1) = 0 aussi au lieu de 0.42.

le calcul devient une division par Zéro, donc erreur.

j'ai bien une impression que c'est une déclaration de variable mais je ne sais pas comment faire.

Merci pour votre réponse
Configuration: Windows XP
Firefox 3.0.6

4 réponses

  1. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    on aurait pu utiliser aussi double
    et ça marche aussi.
    Dim Mamatrice(10) As double
    1
  2. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    Bonjour,
    je te conseille de faire comme ça!

    j'ai mis des valeur de A1 à A10

    Sub essai()
    Dim Mamatrice(10) As Currency ' 10 signifie 11 enregistrement
    Dim valeur As Variant
    Dim X as double

    For i = 0 To 9
    Mamatrice(i) = Range("A1").Offset(i, 0).Value
    Next
    'cequi suit c'est pour voir ce qu'il y a dedans
    For i = 0 To 9

    valeur = valeur & Chr(10) & Mamatrice(i)

    Next

    MsgBox valeur

    X = Mamatrice(9) / Mamatrice(8)
    msgbox X

    End Sub

    A+
    0
  3. hydracom Messages postés 31 Statut Membre
     
    J'ai essayé de déclarer avec Currency et ça a marché.

    Merci bcp :-) cé très gentil
    0
  4. hydracom Messages postés 31 Statut Membre
     
    @_@ ça marche aussi pkoi jé pas pensé à ça @@

    Merci bcp bcp
    0