Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème de division

Tradman

XLDnaute Nouveau
Bonjour à tous,

J'ai un problème avec une division dans VBA que je ne sais comment résoudre. Voici le problème :

dim dblFexp as double
dblFexp = rgMetrffset(1,1).Value / rgMetrffset(1,2).Value

Les valeurs de rgMetrffset(1,1).Value = 2996 et rgMetrffset(1,2).Value = 2089

Donc dblFexp devrait prendre la valeur 1,4342. Par contre, j'obtiens le résultat sans décimale donc dblFexp = 1 !!!

Pouvez-vous m'aider !!!!!

Merci Beaucoup

Tradman
 
J

JJ1

Guest
Re : Problème de division

Bonjour,

pas sûr mais je crois que la fonction: FormatNumber(dblFexp, 4) te fournira 4 chiffres après la virgule

a tester?
a+
 

Tradman

XLDnaute Nouveau
Re : Problème de division

Curieusement, j'ai découvert que j'avais une erreur dans mes calculs. Qui une fois corrigé, ne me reproduit plus l'erreur !!!
Pourtant je n'ai qu'inversé le numérateur et le dénominateur de la fonction !!!!

Bref ça reste un grand mystère, je vais tout de même garder en tête la fonction formatnumber !!!!

Bonne journée
 

Staple1600

XLDnaute Barbatruc
Re : Problème de division

Bonjour à tous

Ainsi j'ai bien les décimales


Code VB:
Sub test()
'Les valeurs de rgMetrffset(1,1).Value = 2996 et rgMetrffset(1,2).Value = 2089
Dim dblFexp, rgMetro As Range
Set rgMetro = [A1]
rgMetrffset(1, 1) = 2996 'donc ici on est en B2
rgMetrffset(1, 2) = 2089 'et là en C2

dblFexp = rgMetrffset(1, 1).Value / rgMetrffset(1, 2).Value
MsgBox dblFexp
End Sub

Et pour avoir que les 4 décimales
(J'ai simplifié aussi l'écriture des Offset dans cette variante)
Code vb:
Sub testBis()
'Les valeurs de rgMetrffset(1,1).Value = 2996 et rgMetrffset(1,2).Value = 2089
Dim dblFexp, rgMetro As Range
Set rgMetro = [A1]: rgMetro(2, 2) = 2996: rgMetro(3, 3) = 2089
dblFexp = rgMetro(2, 2) / rgMetro(2, 3)
MsgBox Round(dblFexp, 4)
End Sub





 
Dernière édition:

Discussions similaires

Réponses
7
Affichages
533
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…