EXCEL & VBA : convertir une chaîne de caractères en une variable tableau avec la fonction Split

La fonction VBA Split convertit une chaîne de caractères en une variable tableau à partir d’un séparateur. Cette fonction réalise la même tâche que le menu EXCEL Données / Convertir / Format délimité.

Syntaxe :

VariableTableau = Split(Chaîne, Séparateur)

Exemple :

Const AdresseChoix = "B16;B18;B20;B22;B24;B26;B28;B30;B32;B34;B38;B42;B44;B46;B48"
Dim TableAdresseChoix() As String

Sub LectureTable()
    TableAdresseChoix = Split(AdresseChoix, ";")
End Sub

Dans cet exemple, la variable AdresseChoix contient une chaîne de caractères constituées d’adresses de cellules d’un tableau Excel, chacune séparée par un point virgule (séparateur). Le séparateur peut être n’importe quel autre caractère.

Une fois la fonction Split appliquée à la variable AdresseChoix avec le séparateur point virgule, la variable tableau TableAdresseChoix contient les adresses de cellules individuelles de TableAdresseChoix(0) à TableAdresseChoix(14), soit quinze occurrences.

Le couple de commandes DATA (stockage des données séparées par des virgules) et READ (lecture des données) associé à une boucle compteur FOR… TO… NEXT, communément présentes dans la plupart des langages BASIC des ordinateurs des années 80, effectuait un traitement similaire.

Exemple d’utilisation de la variable tableau :

Dim i As Long
    
For i = 0 To UBound(TableAdresseChoix)
    .Range(TableAdresseChoix(i)).Value = i * 10
Next i

Dans cet exemple, la boucle compteur For… To… Next attribue successivement les valeurs de 0 à 14 (soit le nombre d’occurrences contenues dans la variable tableau TableAdresseChoix : UBound(TableAdresseChoix)) et le résultat du calcul i * 10 (soit 0 puis 10 puis 20…) est stocké dans les cellules (.Range) du tableau Excel identifiées dans la variable tableau TableAdresseChoix (soit B16, B18, B20…).

Pour plus d’informations sur l’utilisation des variables tableaux, consulter l’article Manipuler des plages de cellules dans des variables tableaux.

La fonction Join réalise l’inverse de Split en concaténant le contenu d’une variable tableau dans une variable.

Tous savoir sur la conversion de fichier (Texte <-> Excel) / l’analyse de données

Approfondir le sujet : Programmer en VBA / Découvrir la série d’articles Maîtriser Excel

Share Button
The following two tabs change content below.
Benoît RIVIERE
Après seize années passées en cabinet d’expertise-comptable et de commissariat aux comptes (où j’ai exercé comme expert-comptable et chef de mission audit), j’ai pris le poste de directeur comptable d’un groupe de distribution automobile en novembre 2014. Au cours de ma carrière, j’ai acquis une expérience significative en audit et en exploitation des systèmes d’information (analyse de données, automatisation des tâches, programmation informatique) au service de la production des comptes annuels et consolidés. C’est cette expérience personnelle et ma passion pour l’informatique que je partage sur ce blog. Mon CV / Réalisations personnelles et projets informatiques / Ma collection / Me contacter

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.