Comment convertir une chaîne en double dans VBA (avec exemples)



Vous pouvez utiliser la fonction CDbl dans VBA pour convertir une chaîne de texte en un type de données double.

Voici une manière courante d’utiliser cette fonction en pratique :

Sub ConvertStringToDouble()

    Dim i As Integer

    For i = 2 To 11
        If IsNumeric(Range("A" & i)) Then
            Range("B" & i) = CDbl(Range("A" & i))
        Else
            Range("B" & i) = 0
        End If
    Next i

End Sub

Cette macro particulière convertira chaque chaîne de la plage A2: A11 en un type de données double uniquement si la chaîne est un nombre.

Sinon, la chaîne sera convertie en une valeur nulle.

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : convertir une chaîne en double dans VBA

Supposons que nous ayons la colonne de valeurs suivante dans Excel, actuellement formatée sous forme de chaînes de texte :

Supposons que nous souhaitions convertir chaque chaîne en un type de données double uniquement si la chaîne est un nombre et les afficher dans la colonne B.

Nous pouvons créer la macro suivante pour ce faire :

Sub ConvertStringToDouble()

    Dim i As Integer

    For i = 2 To 11
        If IsNumeric(Range("A" & i)) Then
            Range("B" & i) = CDbl(Range("A" & i))
        Else
            Range("B" & i) = 0
        End If
    Next i

End Sub

Lorsque nous exécutons cette macro, nous recevons le résultat suivant :

Notez que seules les chaînes de texte de la colonne A qui sont des nombres sont converties en types de données doubles dans la colonne B.

Sinon, les chaînes de texte sont simplement converties en une valeur nulle.

Remarque : Vous pouvez trouver la documentation complète de la fonction VBA CDbl ici .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans VBA :

Comment convertir une chaîne en entier dans VBA
Comment convertir une chaîne en long dans VBA

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *