VBA : Split()

Split() est une fonction pratique et largement utilisée. A partir d’une chaine de texte elle renvoie un objet Tableau (Array) composé de ses éléments en utilisant le séparateur désigné.

Par exemple :

Dim monTexte as String
Dim monTableau as Variant
montexte = "Bonjour je suis Sam"

monTableau = Split(montexte, " ")

Dans l’exemple ci-dessus le tableau monTableau contiendra :
montableau(0) >> « Bonjour »
montableau(1) >> « je »
montableau(2) >> « suis »
montableau(3) >> « Sam »

On peut donc utiliser un boucle (Do, While, For) pour parcourir le tableau, comme on peut utiliser l’indice comme c’est fait dans la liste précédente. Ci-dessous un exemple avec une boucle For.

Dim i As Long
Dim vArray As Variant
vArray = Split("Bonjour je suis Sam", " ")
For i = 0 To UBound(vArray)
    Debug.Print vArray(i)
Next

Split renvoie un objet tableau, Split() est un tableau

Si Split est un tableau on peut l’utiliser en tant que tel sans l’affecter à une variable.
Dans l’exemple suivant on récupère directement l’item du tableau.

Dim monPrenom as String
monPrenom = Split(montexte, " ")(3)

La variable monPrenom vaudra :
monPrenom >> « Sam »

Le paramètre (3) accolé directement à la fonction Split() peut vous paraitre étrange à première vue pourtant ce n’est ni plus ni moins que l’indice du tableau.

Conclusion

Lorsqu’on veut récupérer une valeur et que l’on connait avec certitude sa position, utiliser cette syntaxe est plus rapide, cependant lorsqu’on veut utiliser plus d’une valeur, l’utilisation classique est plus performante.

Laisser un commentaire

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