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



Vous pouvez utiliser la fonction CInt dans VBA pour convertir une chaîne de texte en entier.

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

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

Sub ConvertStringToInteger()

    Dim i As Integer

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

End Sub

Cette macro particulière convertira chaque chaîne de la plage A2:A11 en un entier et affichera les entiers dans la plage B2:B11 .

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

Sub ConvertStringToInteger()

    Dim i As Integer

    For i = 2 To 11
        If IsNumeric(Range("A" & i)) Then
            Range("B" & i) = CInt(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 entier 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 entier 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 entier et afficher les entiers dans la colonne B.

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

Sub ConvertStringToInteger()

    Dim i As Integer

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

End Sub

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

Notez que chaque chaîne de texte de la colonne A a été convertie en entier et est affichée dans la colonne B.

Exemple 2 : convertir une chaîne en entier 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 entier uniquement si la chaîne est un nombre et afficher les entiers dans la colonne B.

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

Sub ConvertStringToInteger()

    Dim i As Integer

    For i = 2 To 11
        If IsNumeric(Range("A" & i)) Then
            Range("B" & i) = CInt(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 entiers 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 Cint 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 *