VBA : Comment convertir du texte en colonnes
Vous pouvez utiliser la méthode Range.TextToColumns dans VBA pour convertir une cellule de texte en colonnes.
Les exemples suivants montrent comment utiliser cette méthode en pratique dans différents scénarios.
Exemple 1 : convertir du texte en colonnes (espace comme délimiteur)
Supposons que nous ayons la liste suivante de noms dans la plage A1:A9 dans Excel :
Nous pouvons créer la macro suivante pour convertir le texte de chaque cellule en colonnes distinctes, en utilisant des espaces comme délimiteurs :
Sub TextToCols()
Range("A1:A9").TextToColumns _
ConsecutiveDelimiter:=True, _
Space:=True
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
Notez que le texte de chaque cellule a été converti en colonnes distinctes.
Remarque : L’argument ConsecutiveDelimiter:=True indique à VBA de considérer les délimiteurs consécutifs ensemble comme un seul délimiteur.
Exemple 2 : convertir du texte en colonnes (virgule comme délimiteur)
Supposons que nous ayons la liste suivante de noms dans la plage A1:A9 séparés par des virgules :
Nous pouvons créer la macro suivante pour convertir le texte de chaque cellule en colonnes distinctes, en utilisant des virgules comme délimiteurs :
Sub TextToCols()
Range("A1:A9").TextToColumns _
ConsecutiveDelimiter:=True, _
Comma:=True
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
Notez que le texte de chaque cellule a été converti en colonnes distinctes.
Exemple 3 : convertir du texte en colonnes (avec du texte entre guillemets doubles)
Supposons que nous ayons la liste suivante de noms dans la plage A1:A9 séparés par des espaces et comportant des guillemets doubles :
Nous pouvons créer la macro suivante pour convertir le texte de chaque cellule en colonnes distinctes :
Sub TextToCols()
Range("A1:A9").TextToColumns _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=True, _
Space:=True
End Sub
Lorsque nous exécutons cette macro, nous recevons le résultat suivant :
Notez que le texte de chaque cellule a été converti en colonnes distinctes.
Notez que nous avons utilisé l’argument TextQualifier:=xlDoubleQuote pour indiquer à VBA que le texte était entouré de guillemets doubles.
Remarque : Vous pouvez trouver la documentation complète de la méthode TextToColumns dans VBA ici .
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes à l’aide de VBA :
VBA : Comment compter les occurrences de caractères dans une chaîne
VBA : comment vérifier si une chaîne contient une autre chaîne
VBA : Comment compter les cellules avec un texte spécifique