Function Ch_Rd#(ByVal Valeur#)
With Application.WorksheetFunction
Select Case Valeur
Case Is < 0.3
Ch_Rd = .Round(Valeur, 2)
Case Is < 1.99
Ch_Rd = .RoundDown(Valeur, 1) + 0.09
Case Is < 9.99
Ch_Rd = Valeur - .RoundDown(Valeur, 0)
Select Case Ch_Rd
Case Is < 0.3
Ch_Rd = 0.29 + .RoundDown(Valeur, 0)
Case Is < 0.5
Ch_Rd = 0.49 + .RoundDown(Valeur, 0)
Case Is < 0.8
Ch_Rd = 0.79 + .RoundDown(Valeur, 0)
Case Else
Ch_Rd = 0.99 + .RoundDown(Valeur, 0)
End Select
Case Is < 19.99
Ch_Rd = Valeur - .RoundDown(Valeur, 0)
Select Case Ch_Rd
Case Is < 0.5
Ch_Rd = 0.49 + .RoundDown(Valeur, 0)
Case Else
Ch_Rd = 0.99 + .RoundDown(Valeur, 0)
End Select
Case Is < 39.99
Ch_Rd = (.Round(Valeur + 0.01, 1)) - 0.01
Case Is < 99.99
Ch_Rd = (Valeur / 10) - .RoundDown(Valeur / 10, 0)
Select Case Ch_Rd
Case Is < 0.3
Ch_Rd = (.RoundDown(Valeur / 10, 0) + 0.299) * 10
Case Is < 0.5
Ch_Rd = (.RoundDown(Valeur / 10, 0) + 0.499) * 10
Case Is < 0.8
Ch_Rd = (.RoundDown(Valeur / 10, 0) + 0.799) * 10
Case Else
Ch_Rd = (.RoundDown(Valeur / 10, 0) + 0.999) * 10
End Select
Case Else
Ch_Rd = (Valeur / 10) - .RoundDown(Valeur / 10, 0)
Select Case Ch_Rd
Case Is < 0.5
Ch_Rd = (.RoundDown(Valeur / 10, 0) + 0.499) * 10
Case Else
Ch_Rd = (.RoundDown(Valeur / 10, 0) + 0.999) * 10
End Select
End Select
End With
End Function