Comment utiliser Substitute dans VBA (avec exemple)
Vous pouvez utiliser la méthode Substitute() dans VBA pour remplacer toutes les occurrences d’un texte spécifique dans une chaîne par un nouveau texte.
Cette méthode utilise la syntaxe de base suivante :
Substitut (Texte, Old_text, New_text, Instance_num)
où:
- Texte : Le texte dans lequel vous souhaitez remplacer des caractères
- Old_text : Le texte à remplacer
- New_text : Le texte à utiliser en remplacement
- Instance_num ( facultatif ) : quelle occurrence de l’ancien texte remplacer. Si aucune n’est spécifiée, toutes les occurrences de l’ancien texte sont remplacées.
Les exemples suivants montrent comment utiliser cette méthode dans la pratique.
Exemple : Comment utiliser Substitute dans VBA
Supposons que nous ayons la liste d’expressions suivante dans Excel :
Supposons que nous souhaitions plutôt remplacer chaque espace de chaque cellule par une virgule.
Nous pouvons créer la macro suivante pour ce faire :
Sub SubstituteText()
Dim rng As Range, cell As Range
Set rng = Range("A2:A9")
For Each cell In rng
cell = WorksheetFunction.Substitute(cell, " ", ",")
Next
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
Notez que chaque espace dans chaque cellule de la colonne A a été remplacé par une virgule.
Notez que nous pourrions également utiliser la syntaxe suivante pour remplacer chaque espace par rien :
Sub SubstituteText()
Dim rng As Range, cell As Range
Set rng = Range("A2:A9")
For Each cell In rng
cell = WorksheetFunction.Substitute(cell, " ", "")
Next
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
Notez que chaque espace dans chaque cellule de la colonne A a été remplacé par rien.
En d’autres termes, nous avons supprimé chacun des espaces de chaque cellule de la colonne A.
Remarque : Vous pouvez trouver la documentation complète de la méthode VBA Substitute 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