Fonctions VBA : CSng et CDbl

Les fonctions VBA CSng et CDbl convertissent une valeur numérique en nombre à virgule.

Utilisation :

CSng(valeur)

CDbl(valeur)


Exemple d'utilisation

Utilisation de la fonction CSng pour convertir différents types de valeurs numériques (dans ce cas, la fonction CDbl renvoie les mêmes résultats) :

Sub exemple()

    MsgBox CSng("1.245") 'Renvoie : 1.245
    MsgBox CSng(1.245) 'Renvoie : 1.245
    MsgBox CSng("45") 'Renvoie : 45
    MsgBox CSng(" 45.25 ") 'Renvoie : 45.25
    MsgBox CSng("-147.2347") 'Renvoie : -147.2347
    MsgBox CSng(True) 'Renvoie : -1
    MsgBox CSng(False) 'Renvoie : 0
    
End Sub

La différence entre les 2 fonctions est que la fonction CDbl (type Double) permet une plus grande précision que la fonction CSng (type Single) :

Sub exemple()

    nombre = WorksheetFunction.Pi
    
    MsgBox CSng(nombre) 'Renvoie : 3.141593
    MsgBox CDbl(nombre) 'Renvoie : 3.14159265358979
    
End Sub