Aujourd'hui, nous allons explorer la fonction Split en VBA.
Définition : la fonction Split est utilisée pour diviser une chaîne de caractères en sous-chaînes en fonction d'un délimiteur spécifié.
Pourquoi utiliser cette fonction ? C'est une fonction très pratique pour manipuler et analyser des chaînes de texte.
La syntaxe de la fonction Split est la suivante :
Split(expression, [delimiteur], [limit], [compare])
Paramètres
| Argument | Description |
|---|---|
| Expression (obligatoire) | La chaîne de caractères que vous souhaitez diviser. |
| delimiteur (facultatif) | Le caractère utilisé pour délimiter les sous-chaînes. La valeur par défaut est un espace (" "). |
| limit (facultatif) | Le nombre maximal de sous-chaînes à renvoyer. La valeur par défaut est -1, ce qui signifie qu'il n'y a pas de limite. |
| compare (facultatif) | La méthode de comparaison des chaînes. Les valeurs possibles sont vbBinaryCompare, vbTextCompare, vbDatabaseCompare. La valeur par défaut est vbBinaryCompare. |
SPLIT VBAValeurs de retour
La fonction Split renvoie un tableau (Array) de sous-chaînes de type Variant.
Évaluez votre niveau en VBA Excel !
En moins de 7 minutes, découvrez votre niveau réel et les compétences à améliorer pour automatiser vos tâches et gagner du temps sur Excel.
Exemple d’utilisation IIf VBA
Voyons quelques exemples pratiques pour illustrer l'utilisation de la fonction Split, avec des explications détaillées pour chaque cas.
Exemple 1 : Diviser une chaîne de caractères par des espaces
Dans cet exemple, nous allons diviser une phrase en mots en utilisant l'espace comme délimiteur.
Sub ExempleSplitEspaces()
Dim phrase As String
Dim mots As Variant
Dim i As Integer
phrase = "Bonjour tout le monde"
mots = Split(phrase) ' Par défaut, le délimiteur est un espace.
' Afficher chaque mot
For i = LBound(mots) To UBound(mots)
MsgBox "Mot " & i + 1 & " : " & mots(i)
Next i
End Sub
Explication : La fonction Split divise la phrase "Bonjour tout le monde" en trois sous-chaînes : "Bonjour", "tout", et "le monde". Chaque mot est ensuite affiché dans une boîte de message.
VBA Boucle sur les mots d’un texte avec Split
Dans cet exemple, nous allons apprendre à utiliser la fonction Split en VBA pour séparer une chaîne de caractères en mots individuels et à boucler sur ces mots pour les afficher individuellement.
Cet exemple s'adresse aux débutants et montre comment utiliser Split pour traiter des chaînes de texte avec des séparateurs récurrents.
Cet exemple montre comment travailler avec des tableaux dynamiques en VBA, une compétence essentielle pour manipuler des ensembles de données.
Sub BoucleSurMots()
' Déclaration des variables
Dim liste As String
Dim arrListe() As String
Dim i As Integer
' Initialisation de la variable liste avec des mots séparés par des points-virgules
liste = "orange;rouge;bleu"
' Utilisation de la fonction Split pour séparer la chaîne en mots
arrListe = Split(liste, ";")
' Boucle sur chaque mot de la liste
For i = LBound(arrListe) To UBound(arrListe)
' Affichage du mot courant
MsgBox "Résultat: " & arrListe(i)
Next i
End Sub
Explications
- Déclaration des variables :
liste: Une chaîne de caractères contenant les mots à séparer.arrListe: Un tableau de chaînes de caractères pour stocker les mots séparés.i: Un compteur utilisé pour la boucle.
- Initialisation de la variable
liste:- Nous assignons à
listela valeur"orange;rouge;bleu". Les mots sont séparés par des points-virgules (;).
- Nous assignons à
- Utilisation de la fonction
Split:- La fonction
Splitest utilisée pour diviser la chaînelisteen mots individuels, en utilisant le point-virgule comme séparateur. Les mots sont stockés dans le tableauarrListe.
- La fonction
- Boucle sur chaque mot :
For i = LBound(arrListe) To UBound(arrListe)initialise une boucle qui commence à l'indice le plus bas (LBound(arrListe)) et se termine à l'indice le plus élevé (UBound(arrListe)) du tableauarrListe.- À chaque itération, la boîte de message (
MsgBox) affiche le mot courant contenu dansarrListe(i).
🎁 Formation Excel VBA gratuite
Vous perdez du temps sur Excel avec des tâches répétitives ? Découvrez notre formation gratuite pour apprendre à automatiser vos fichiers simplement.
Vous allez apprendre à :
- Créer vos premières macros
- Automatiser vos tâches
- Gagner du temps au quotidien
Un support PDF est inclus pour progresser plus vite.

Nos meilleures pratiques
Voici, d'après-moi, les meilleures pratiques de la fonction SPLIT :
| Pratique | Description |
|---|---|
| Utiliser des délimiteurs appropriés | Choisissez des délimiteurs qui n'apparaissent pas dans les sous-chaînes pour éviter les divisions incorrectes. |
| Vérifier les limites du tableau | Utilisez LBound et UBound pour itérer sur les sous-chaînes et éviter les erreurs de dépassement. |
| Gérer les valeurs vides | Assurez-vous de traiter les sous-chaînes vides résultant de délimiteurs consécutifs. |
| Documenter les délimiteurs utilisés | Commentez votre code pour expliquer le choix des délimiteurs, surtout s'ils ne sont pas évidents. |
Les erreurs à éviter
Voici, d'après-moi, les erreurs à éviter de la fonction SPLIT :
| Erreur | Description |
|---|---|
| Utiliser un délimiteur absent de la chaîne | Si le délimiteur n'existe pas dans la chaîne, Split renverra la chaîne entière comme seule sous-chaîne. |
| Ignorer les sous-chaînes vides | Les délimiteurs consécutifs peuvent créer des sous-chaînes vides, assurez-vous de les gérer correctement. |
| Oublier de spécifier la méthode de comparaison | Si vous utilisez des délimiteurs sensibles à la casse, assurez-vous de définir correctement le paramètre compare. |
| Ne pas gérer les résultats inattendus lors de la limitation | Lorsque vous limitez le nombre de sous-chaînes, le dernier élément peut contenir plusieurs segments non divisés. |
FAQ : FONCTION VBA
Formation VBA Excel
Vous souhaitez aller plus loin que les bases et apprendre à automatiser réellement vos fichiers Excel ? Notre formation VBA vous accompagne avec un formateur expert. Vous allez apprendre à :
- Créer des macros utiles
- Automatiser vos tâches répétitives
- Structurer des outils fiables
- Gagner du temps au quotidien
Plus de 850 apprenants ont déjà été formés avec une satisfaction de 9,7/10.
Les autres fonctions VBA TYPE
Fonction VBA : Array
Fonction InStr VBA Excel
FONCTION CHR VBA Excel
FONCTION REPLACE VBA EXCEL
Fonction FORMAT Excel VBA
Fonction ISNUMERIC VBA
Fonction VBA : IsEmpty
Fonction VBA : IIf.
Découvrez toutes les fonctions dans Excel VBA ici.





Félicitations ! Votre ebook Excel offert !
/ CPF