Comment convertir la valeur intégrale "45" ; en valeur chaîne "45" ; dans Excel VBA ?
La plupart du temps, vous n'aurez pas besoin de "convertir" ; VBA effectuera pour vous une conversion de type implicite sûre, _sans avoir recours à des convertisseurs comme CStr
.
Le code ci-dessous fonctionne sans aucun problème, car la variable est de type String, et la conversion implicite de type est effectuée pour vous automatiquement!.
Dim myVal As String
Dim myNum As Integer
myVal = "My number is: "
myVal = myVal & myNum
Résultat :
"Mon numéro est : 0" ;
Vous n’avez même pas besoin d’en faire autant, cela fonctionne aussi :
Dim myString as String
myString = 77
"77" ;
La seule fois où vous aurez besoin de convertir est lorsque le type de la variable est ambigu (par exemple, Type Variant, ou Value
d'une cellule (qui est Variant)).
Même dans ce cas, vous n'aurez pas besoin d'utiliser la fonction CStr
si vous la combinez avec une autre variable ou constante String. Comme ceci :
Sheet1.Range("A1").Value = "My favorite number is " & 7
"Mon chiffre préféré est 7" ;
Donc, en réalité, le seul cas rare est celui où vous voulez vraiment stocker une valeur entière, dans une variante ou une valeur de cellule, quand non également composée avec une autre chaîne de caractères (ce qui est un cas secondaire assez rare, je pourrais ajouter) :
Dim i as Integer
i = 7
Sheet1.Range("A1").Value = i
7
Dim i as Integer
i = 7
Sheet1.Range("A1").Value = CStr(i)
"7" ;