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



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

Voici deux manières courantes d’utiliser cette fonction en pratique :

Méthode 1 : convertir une chaîne en long dans VBA

Sub ConvertStringToLong()

    Dim i As Integer

    For i = 2 To 11
        Range("B" & i) = CLng(Range("A" & i))
    Next i

End Sub

Cette macro particulière convertira chaque chaîne de la plage A2:A11 en un type de données long et affichera les valeurs longues dans la plage B2:B11 .

Méthode 2 : convertir une chaîne en long dans VBA (uniquement si la chaîne est un nombre)

Sub ConvertStringToLong()

    Dim i As Integer

    For i = 2 To 11
        If IsNumeric(Range("A" & i)) Then
            Range("B" & i) = CLng(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 long uniquement si la chaîne est un nombre. Sinon, la chaîne sera convertie en une valeur nulle.

Les exemples suivants montrent comment utiliser chaque méthode dans la pratique.

Exemple 1 : Convertir une chaîne en long 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 long et l’afficher dans la colonne B.

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

Sub ConvertStringToLong()

    Dim i As Integer

    For i = 2 To 11
        Range("B" & i) = CLng(Range("A" & i))
    Next i

End Sub

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

VBA convertit la chaîne en longue

Notez que chaque chaîne de texte de la colonne A a été convertie en un type de données long et est affichée dans la colonne B.

Exemple 2 : convertir une chaîne en long dans VBA (uniquement si la chaîne est un nombre)

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 long 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 ConvertStringToLong()

    Dim i As Integer

    For i = 2 To 11
        If IsNumeric(Range("A" & i)) Then
            Range("B" & i) = CLng(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 longs 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 CLng ici .

Ressources additionnelles

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

VBA : Comment supprimer les espaces d’une chaîne
VBA : Comment compter les occurrences de caractères dans une chaîne
VBA : comment vérifier si une chaîne contient une autre chaîne

Ajouter un commentaire

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