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

Ajouter un commentaire

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