VBA Convertir une Chaîne de Texte en Nombre
In this Article
Vous pouvez devoir convertir des nombres stockés sous forme de texte en nombres réels dans votre code VBA. Dans ce tutoriel, nous allons passer en revue les fonctions que vous devez utiliser pour convertir une chaîne en un type de données entier, long, double, décimal ou monétaire (cliquez ici pour en savoir plus sur la conversion de nombres en chaînes)
Conversion d’une Chaîne de Caractères en Nombre Entier
Vous pouvez utiliser la fonction CInt ou CLng pour convertir une chaîne de caractères en nombre entier. Si la fraction est inférieure à 0,5, la fonction arrondit au chiffre inférieur, si la fraction est supérieure ou égale à 0,5, la fonction arrondit au chiffre supérieur. Le code suivant convertit une chaîne de caractères en nombre entier :
MsgBox CInt("7,55")
Le résultat est le suivant :
Le code suivant utilise la fonction CLng pour convertir une chaîne de caractères en nombre entier :
MsgBox CLng("13,5")
Le résultat est le suivant :
Remarque : vous pouvez utiliser la fonction CInt ou CLng pour convertir une chaîne de caractères en un type de données entier (« Integer ») ou long (respectivement). Le type de données Long est identique au type de données nombre entier, sauf que des nombres plus grands sont autorisés. Dans le passé, cette distinction était nécessaire en raison des contraintes de mémoire. Dans la programmation moderne, il n’y a aucune raison de ne pas utiliser le type de données long puisque la mémoire n’est plus un problème. Il est donc toujours préférable d’utiliser un type de données long plutôt qu’un nombre entier
Vous pouvez utiliser la fenêtre d’exécution pour voir comment la valeur serait traitée si elle n’était pas convertie en nombre entier :
Debug.Print "13,5" + "13,5"
Habituellement, le texte sera stocké en tant que variable et cette variable devra être convertie en type de données numérique comme indiqué dans le code ci-dessous :
Sub Utilisation_de_Variables()
Dim valeurUn As String
valeurUn = 5
MsgBox CLng(valeurUn) + CLng(valeurUn)
End Sub
Conversion d’une chaîne de caractères en décimales
Vous pouvez utiliser la fonction CDbl ou CDec pour convertir une chaîne de caractères en décimales. Le code suivant convertit une chaîne de caractères en un type de données double :
MsgBox CDbl("9,1819")
Le résultat est le suivant :
Le code suivant convertirait une chaîne de caractères en un type de données décimales :
MsgBox CDec("13,57") + CDec("13,4")
Le résultat est le suivant :
Vous pouvez utiliser la fenêtre d’exécution pour voir comment la valeur serait traitée si elle n’était pas convertie en type de données double ou décimal :
Debug.Print "13,57" + "13,4"
Le résultat est le suivant :
Remarque : le type de données décimal peut stocker des nombres plus importants que le type de données double, il est donc toujours conseillé d’utiliser le type de données décimal en cas d’incertitude.
Conversion d’une Chaîne en Devise
Vous pouvez utiliser la fonction CCur pour convertir une chaîne de caractères en une devise. Le code suivant convertit une chaîne de caractères en type de données monétaire :
Range("A1").Value = CCur("18,5")
Le résultat est le suivant :
VBA Coding Made Easy
Stop searching for VBA code online. Learn more about AutoMacro - A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!Learn More!