VBA : Comment supprimer les caractères spéciaux d’une chaîne
Vous pouvez utiliser la syntaxe de base suivante dans VBA pour supprimer les caractères spéciaux des chaînes :
Sub ReplaceSpecialChars()
Dim i As Integer
For i = 2 To 8
Range("B" & i) = Replace(Replace(Replace(Range("A" & i), "!", ""), "@", ""), "#", "")
Next i
End Sub
Cet exemple particulier remplace les caractères spéciaux suivants de chaque chaîne de la plage de cellules A2:A8 et génère les nouvelles chaînes dans les cellules B2:B8 :
- !
- @
- #
Notez que nous avons utilisé trois méthodes Replace imbriquées pour supprimer chacun de ces caractères spéciaux des chaînes.
Pour supprimer encore plus de caractères spéciaux, utilisez simplement des méthodes Replace plus imbriquées.
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : supprimer les caractères spéciaux d’une chaîne à l’aide de VBA
Supposons que nous ayons la liste de chaînes suivante dans Excel :
Supposons que nous souhaitions supprimer les caractères spéciaux suivants de chaque chaîne :
- !
- @
- #
Nous pouvons créer la macro suivante pour ce faire :
Sub ReplaceSpecialChars()
Dim i As Integer
For i = 2 To 8
Range("B" & i) = Replace(Replace(Replace(Range("A" & i), "!", ""), "@", ""), "#", "")
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 caractères spéciaux supprimés.
Remarque : Vous pouvez trouver la documentation complète de la méthode VBA Replace 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