VBA : Comment supprimer le dernier caractère d’une chaîne
Vous pouvez utiliser la syntaxe de base suivante pour supprimer le dernier caractère d’une chaîne à l’aide de VBA :
Sub RemoveLastChar()
Dim i As Integer
Dim myString As String
For i = 2 To 11
myString = Range("A" & i)
Range("B" & i) = Left(myString, Len(myString) - 1)
Next i
End Sub
Cet exemple particulier supprime le dernier caractère de chaque chaîne de la plage A2:A11 et affiche les résultats dans la plage B2:B11 .
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : utilisation de VBA pour supprimer le dernier caractère des chaînes
Supposons que nous ayons la liste suivante de noms d’équipes de basket-ball dans Excel :
Supposons que nous souhaitions supprimer le dernier caractère de chaque nom d’équipe.
Nous pouvons créer la macro suivante pour ce faire :
Sub RemoveLastChar()
Dim i As Integer
Dim myString As String
For i = 2 To 11
myString = Range("A" & i)
Range("B" & i) = Left(myString, Len(myString) - 1)
Next i
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
La colonne B affiche chacune des chaînes de la colonne A avec le dernier caractère supprimé.
Si vous souhaitez plutôt supprimer les n derniers caractères d’une chaîne, remplacez simplement le 1 dans la méthode Left par un nombre différent.
Par exemple, nous pouvons créer la macro suivante pour supprimer les 2 derniers caractères d’une chaîne :
Sub RemoveLastTwoChar()
Dim i As Integer
Dim myString As String
For i = 2 To 11
myString = Range("A" & i)
Range("B" & i) = Left(myString, Len(myString) - 2)
Next i
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
La colonne B affiche chacune des chaînes de la colonne A avec les deux derniers caractères supprimés.
Remarque : Vous pouvez trouver la documentation complète de la méthode VBA Left ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes à l’aide de VBA :
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
VBA : Comment compter les cellules avec un texte spécifique