- Function GetRound(ByVal Expression As String, _
- Optional DecimalDigitsNumber As Byte = 0, _
- Optional RoundToFive As Boolean = True) As Double
-
- 'Signature 1 : fonction d'arrondi paramétrable (compatible Excel 95/97)
- 'Contrairement à la fonction "Round", le type d'approximation est modifiable
- 'et surtout constant quel que soit le nombre de décimales.
-
- Dim ApproximationValue As Single
-
- If RoundToFive = True Then
- ApproximationValue = 0.5
- Else
- ApproximationValue = 0.49
- End If
-
- GetRound = CDbl(Expression) * (10 ^ DecimalDigitsNumber)
- GetRound = Int(GetRound + ApproximationValue) * (10 ^ -DecimalDigitsNumber)
-
- End Function
-
- Function GetRound(ByVal Expression As String, _
- Optional DecimalDigitsNumber As Integer = 0, _
- Optional RoundToFive As Boolean = True) As Double
-
- 'Signature 2 : fonction d'arrondi paramétrable (compatible Excel 95/97)
- 'Contrairement à la fonction "Round", le type d'approximation est modifiable
- 'et surtout constant quel que soit le nombre de décimales.
- 'De surcroît, cette version permet d'arrondir selon les unités, dizaines, centaines etc.
-
- Dim ApproximationValue As Single
-
- If RoundToFive = True Then
- ApproximationValue = 0.5
- Else
- ApproximationValue = 0.49
- End If
-
- GetRound = CDbl(Expression) * (10 ^ DecimalDigitsNumber)
- GetRound = Int(GetRound + ApproximationValue) * (10 ^ -DecimalDigitsNumber)
-
- End Function
-
- Function SimpleRound(ByVal AValue As Double, _
- Optional ADigit As Integer = -2) As Double
- ' Contrairement à la fonction Round cette fonction n'applique pas la règle
- ' de l'arrondi bancaire. SimpleRound utilise l'arrondi arithmétique asymétrique.
- ' Cette méthode arrondit toujours vers la valeur la plus grande.
-
- ' Arguments :
- ' - AValue est la valeur à arrondir,
- ' - ADigit indique la puissance de dix à laquelle vous voulez arrondir AValue.
-
- SimpleRound = AValue * (10 ^ -ADigit)
- SimpleRound = Fix(SimpleRound + 0.5) * (10 ^ ADigit)
-
- End Function
Function GetRound(ByVal Expression As String, _
Optional DecimalDigitsNumber As Byte = 0, _
Optional RoundToFive As Boolean = True) As Double
'Signature 1 : fonction d'arrondi paramétrable (compatible Excel 95/97)
'Contrairement à la fonction "Round", le type d'approximation est modifiable
'et surtout constant quel que soit le nombre de décimales.
Dim ApproximationValue As Single
If RoundToFive = True Then
ApproximationValue = 0.5
Else
ApproximationValue = 0.49
End If
GetRound = CDbl(Expression) * (10 ^ DecimalDigitsNumber)
GetRound = Int(GetRound + ApproximationValue) * (10 ^ -DecimalDigitsNumber)
End Function
Function GetRound(ByVal Expression As String, _
Optional DecimalDigitsNumber As Integer = 0, _
Optional RoundToFive As Boolean = True) As Double
'Signature 2 : fonction d'arrondi paramétrable (compatible Excel 95/97)
'Contrairement à la fonction "Round", le type d'approximation est modifiable
'et surtout constant quel que soit le nombre de décimales.
'De surcroît, cette version permet d'arrondir selon les unités, dizaines, centaines etc.
Dim ApproximationValue As Single
If RoundToFive = True Then
ApproximationValue = 0.5
Else
ApproximationValue = 0.49
End If
GetRound = CDbl(Expression) * (10 ^ DecimalDigitsNumber)
GetRound = Int(GetRound + ApproximationValue) * (10 ^ -DecimalDigitsNumber)
End Function
Function SimpleRound(ByVal AValue As Double, _
Optional ADigit As Integer = -2) As Double
' Contrairement à la fonction Round cette fonction n'applique pas la règle
' de l'arrondi bancaire. SimpleRound utilise l'arrondi arithmétique asymétrique.
' Cette méthode arrondit toujours vers la valeur la plus grande.
' Arguments :
' - AValue est la valeur à arrondir,
' - ADigit indique la puissance de dix à laquelle vous voulez arrondir AValue.
SimpleRound = AValue * (10 ^ -ADigit)
SimpleRound = Fix(SimpleRound + 0.5) * (10 ^ ADigit)
End Function