VBA Substring – Comment soustraire une chaîne de caractères dans une macro Excel

author
4 minutes, 36 seconds Read

Substring est l’une des fonctions les plus populaires dans n’importe quel langage de programmation. Elle facilite vos tâches lorsque vous traitez des chaînes de caractères. Comme son nom l’indique, une fonction substring divise une chaîne de caractères en différentes parties basées sur des critères particuliers.

Il existe de multiples fonctions Substring VBA. Dans des situations pratiques, ces fonctions substring peuvent être très utiles pour extraire une partie d’une chaîne de caractères.

Aujourd’hui, dans ce post, je vais expliquer toutes les fonctions substring VBA que vous pouvez utiliser dans les macros Excel :

Table des matières

Fonction Substring LEFT :

La fonction LEFT dans Excel VBA est utilisée pour aller chercher un nombre spécifié de caractères à partir du début de la chaîne de caractères. La syntaxe de la fonction LEFT est la suivante :

Left (text_string, length)
  • Ici, ‘text_string’ fait référence à une chaîne d’entrée qui doit être séparée.
  • Et ‘length’ fait référence au nombre de caractères à extraire.

Exemples :

Gauche ("Exceltrick", 5) 'donne une sortie "Excel"
Gauche ("SomeText", 4) 'donne le résultat "Some"

Note : Au lieu d’utiliser une chaîne codée en dur dans le premier argument, vous pouvez aussi récupérer ‘text_string’ de votre feuille excel comme ActiveSheet.Range(« A1 »).

Fonction Substring droite :

La fonction DROITE dans Excel VBA est juste opposée à la fonction GAUCHE. Elle renvoie un nombre spécifié de caractères à partir de la fin de la chaîne de texte. La syntaxe de la fonction DROITE est la suivante :

Droite (chaîne_texte, longueur)
  • Ici, ‘chaîne_texte’ fait référence à une chaîne d’entrée qui doit être séparée.
  • Et ‘longueur’ fait référence au nombre de caractères à extraire mais l’extraction commence à partir du côté droit.

Exemple :

Droit ("Exceltrick", 5) 'donne une sortie "trick"
Droit ("SomeText", 4) 'donne le résultat "Text"

Note : Au lieu d’utiliser une chaîne codée en dur dans le premier argument, vous pouvez aussi récupérer ‘text_string’ de votre feuille excel comme ActiveSheet.Range(« A1 »).

Fonction Substring MID :

MID est une fonction bien meilleure que les deux premières, elle vous donne la possibilité de spécifier les positions de début et de fin de la chaîne extraite. La syntaxe de la fonction VBA Substring MID est la suivante :

Mid(text_string, start_position, Length)
  • Ici ‘text_string’ fait référence à une chaîne d’entrée qui doit être séparée.
  • ‘start_position’ fait référence à la position numérique à partir de laquelle l’extraction doit commencer.
  • Et ‘length’ fait référence au nombre de caractères à extraire.

Exemple :

MID ("Exceltrick", 2,4) 'donne une sortie "celt"
MID ("SomeText", 4,4) 'donne le résultat "Text"

Note : Au lieu d’utiliser une chaîne codée en dur dans le premier argument, vous pouvez aussi récupérer ‘text_string’ de votre feuille excel comme ActiveSheet.Range(« A1 »).

SPLIT Fonction Substring :

La fonction SPLIT est une autre fonction VBA qui peut être utilisée pour sous-stringuer ou diviser une chaîne de caractères. La fonction SPLIT peut s’avérer très pratique lorsque vous divisez une chaîne de texte en plusieurs parties sur la base d’un délimiteur. La syntaxe d’une fonction split est la suivante:

Split (text_string, Delimiter, limit, Compare)
  • Ici, ‘text_string’ fait référence à une chaîne d’entrée qui doit être séparée.
  • ‘Delimiter’ fait référence au caractère délimiteur qui sépare la chaîne en parties. C’est un argument facultatif, s’il est laissé vide alors, le caractère espace  »  » est supposé être le délimiteur par défaut.
  • ‘limite’ se réfère au nombre maximum de parties de sous-chaîne en lesquelles la chaîne doit être divisée. C’est aussi un argument facultatif, la valeur par défaut est (-1) ce qui signifie que la sous-chaîne devrait se produire à chaque position où le délimiteur est rencontré.
  • ‘compare’ est une valeur numérique facultative qui spécifie la comparaison à utiliser lors de l’évaluation des sous-chaînes.

Exemple :

Par exemple, vous avez une chaîne de texte comme « Ceci est une chaîne de texte » et maintenant vous devez casser cette chaîne en mots individuels, donc dans ce cas, vous utiliserez l’espace  »  » comme délimiteur. La fonction split sera utilisée comme:

Split ("This is a text string", " ")

Le résultat de cette fonction split est un tableau de mots : « Ceci » « est » « une » « chaîne » de texte ».

Lecture recommandée : Fonction de division VBA

Exemple de macro de sous-chaîne VBA :

Ci-après, j’ai créé une macro qui illustre toutes les techniques de sous-chaîne disponibles dans la programmation VBA. C’est une macro simple et auto-explicative, dans celle-ci, j’ai simplement divisé une chaîne de texte avec les 4 méthodes que j’ai décrites ci-dessus.

Voici le code que j’ai utilisé pour cette macro :

Sub BreakStrings()
'Left function
a = Left("Excel Trick Text", 5)
'Right function
b = Right("Excel Trick Text", 11)
'Mid function
c = Mid("Excel Trick Text", 1, 11)
'Fonction Split
d = Split("Excel Trick Text", " ")
For Each wrd In d
strg = strg & wrd & ", "
Next
'Affichage des résultats dans une mesage box
MsgBox "Left : " & a & vbNewLine & "Right : " & b & vbNewLine & "Mid : " & c & vbNewLine & "Split : " & strg
End Sub

So, c’était tout sur les fonctions de substring de VBA. Partagez votre point de vue sur le sujet.

Similar Posts

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.