Et ça SPLIT !
Bonjour et bienvenue dans ce premier article concernant les fonctions VBA pratiques et simples d’utilisation.

Aujourd’hui nous traiterons de la fonction SPLIT sur Access :

Cette fonction est dénigrée par beaucoup de maitres d’Office, mais elle n’en est pas moins remarquable et efficace. Elle permet de diviser une chaine de caractères en plusieurs, en fonction d’un paramètre délimiteur et d’un nombre de division.

La fonction SPLIT, comment et pourquoi ?

La fonction SPLIT doit se présenter de la façon suivante :

SPLIT(ChaineACouper[, ChaineDelimiteur][, NombreDelimiteur])

ChaineACouper :

La chaine de caractère à découper.

ChaineDelimiteur :

La chaine de caractère optionnelle utiliser pour couper la ChaineACouper. Si celle-ci n’est pas précisé, elle prendra la valeur d’un espace par défaut.

NombreDelimiteur :

Le nombre de chaine de caractère maximum retourné lors de la découpe de la ChaineACouper. Si celle-ci n’est pas précisé, elle prendra la valeur -1 par défaut, qui correspond au nombre maximum de découpe possible.

Exemples :

SPLIT(« AAA/BB/C ;D »,  « / »)  Résultat: {« AAA », »BB », »C ;D »}

SPLIT(« AAA/BB/C ;D »,  « BB »)  Résultat: {« AAA/ », »/C ;D »}

SPLIT(« AAA/BB/C ;D »,  « / », 1)  Résultat: {« AAA/BB/C ;D »}

SPLIT(« AAA/BB/C ;D »,  « / », 2)  Résultat: {« AAA », »BB/C ;D »}

SPLIT(« AAA/BB/C ;D »,  « / », 3)  Résultat: {« AAA », »BB », »C ;D »}

SPLIT(« AAA/BB/C ;D »,  « BB », 1)  Résultat: {« AAA/BB/C ;D »}

SPLIT(« AAA/BB/C;D »,  « BB », 2)  Résultat: {« AAA/ », »/C ;D »}

Le résultat de cette fonction retourne donc un tableau de chaines de caractères et doit en VBA être présenté de la façon suivante :

DIM Tabl() as string, Txt as string
Txt = « AAA/BB/C ;D »
Tabl = SPLIT(Txt, « / »)

Ensuite pour récupérer une des valeurs il vous suffit de taper la commande suivante :

Msgbox Tabl(0) qui retournera « AAA »
Msgbox Tabl(1) qui retournera « BB »
Msgbox Tabl(2) qui retournera « C ;D »

Attention le tableau ne comportant que trois chaines de caractères, dans cette exemple, l’expression Msgbox Tabl(3) retournera une erreur.
Si vous ne voulez pas vous embêter avec des tableaux de chaines de caractères, vous pouvez directement intégrer un des résultats du split dans une chaine de caractère, de la manière suivante :

DIM Txt1 as string, Txt2 as string, Txt3 as string, Txt as string
Txt = « AAA/BB/C ;D »
Txt1 = SPLIT(Txt, « / »)(0)
Txt2 = SPLIT(Txt, « / »)(1)
Txt3 = SPLIT(Txt, « / »)(2)

Les résultats seront les suivants :

Msgbox Txt1 retournera « AAA »
Msgbox Txt2 retournera « BB »
Msgbox Txt3 retournera « C ;D »

Voilà je pense avoir fait le tour de la fonction SPLIT sur Access, vous êtes désormais prêt à vous amuser avec. Merci à tous d’être arrivé jusqu’ici, je reviens vers vous avec un nouvel article le mois prochain.

En attendant portez-vous bien !