J'optimise une macro dans VBA dans laquelle aucun des types de données n'a été déclaré. Tout a donc été traité maladroitement par le compilateur comme une variante. J'ai affaire à des mesures scientifiques, alors j'ai besoin de précision. Comment déclarer "Dim decAsdf as Decimal" (pas comme ça mais comme il convient)?
Vous ne pouvez pas déclarer une variable sous la forme Decimal
- vous devez utiliser Variant
(vous pouvez utiliser CDec
pour la remplir avec un type Decimal
cependant).
Le meilleur moyen consiste à déclarer la variable sous la forme Single
ou Double
, en fonction de la précision requise. Le type de données Single
utilise 4 octets et se situe dans la plage -3.402823E38 à 1.401298E45. Double
utilise 8 octets.
Vous pouvez déclarer comme suit:
Dim decAsdf as Single
ou
Dim decAsdf as Double
Voici un exemple qui affiche une boîte de message avec la valeur de la variable après calcul. Tout ce que vous avez à faire est de le mettre dans un module et de l'exécuter.
Sub doubleDataTypeExample()
Dim doubleTest As Double
doubleTest = 0.0000045 * 0.005 * 0.01
MsgBox "doubleTest = " & doubleTest
End Sub