Ne pas prendre la valeur exacte d'un chiffre dans une formule VBA

Bonjour,

j'ai créé cette simple formule sous VBA qui m'indique si la somme d'une colonne est égale à 0 ou non :


Option Explicit

Const lideb = 2

Sub TestSolde()

Dim lifin As Long

Dim SommeG As Double

With ActiveSheet

lifin = .Range("H" & Rows.Count).End(xlUp).Row

SommeG = Application.WorksheetFunction.Sum(Range("H" & lideb & ":H" & lifin))

If SommeG = 0 Then

MsgBox ("Solde nul")

Else

MsgBox ("Erreur, solde non nul")

End If

End With

End Sub


Cependant, la somme de ma colonne vaut 0.00000000056455 et il considère qu'elle n'est pas égale à 0

Est-ce que quelqu'un saurait comment faire en sorte que la formule prenne en compte uniquement les 5 premiers chiffres après la virgule par exemple ?

Merci d'avance

Bonjour et bienvenue sur le forum,

Il suffit d'utiliser la fonction .Round (ou arrondis si vous préférez)

Pour 5 chiffres après la virgule, c'est :

Option Explicit
Const lideb = 2

Sub TestSolde()
Dim lifin As Long
Dim SommeG As Double
With ActiveSheet
lifin = .Range("H" & Rows.Count).End(xlUp).Row
SommeG = Application.WorksheetFunction.Sum(Range("H" & lideb & ":H" & lifin))
If Round(SommeG, 5) Like 0# Then
MsgBox ("Solde nul")
Else
MsgBox ("Erreur, solde non nul")
End If
End With
End Sub

Cordialement

Merci beaucoup pour votre réponse, bon après-midi !

Rechercher des sujets similaires à "pas prendre valeur exacte chiffre formule vba"