Astuce: Les autres langues sont Google-Traduction. Vous pouvez visiter le English version de ce lien.
Se connecter
x
or
x
x
S'enregistrer
x

or

Comment convertir une chaîne de caractères séparée par des virgules en liste ou en lignes dans Excel?

doc convertit les virgules en liste 1

Supposons que vous ayez une liste de valeurs de cellules séparées par des virgules. Maintenant, vous devez convertir ces chaînes de texte séparées par des virgules en plusieurs lignes ou une colonne comme illustré ci-dessous. Comment pourrait diviser plusieurs valeurs de cellules en lignes en fonction du délimiteur de virgules à la fois dans Excel?

Convertir une chaîne de caractères séparée par des virgules en lignes avec le code VBA

Convertir une chaîne de caractères séparée par des virgules en lignes avec Kutools for Excel


Convertir une chaîne de caractères séparée par des virgules en lignes avec le code VBA


Le code VBA suivant peut vous aider à convertir plusieurs valeurs de cellules séparées par des virgules en une colonne, procédez comme suit:

1. Maintenez le Alt + F11 clés dans Excel, et il ouvre la Microsoft Visual Basic pour applications fenêtre.

2. Cliquez insérer > Moduleet collez la macro suivante dans le Module Fenêtre.

Code VBA: Convertir une chaîne de caractères séparée par des virgules en lignes ou en liste

Sub RedistributeCommaDelimitedData()
'Updateby Extendoffice 2015924
    Dim xArr() As String
    Dim xAddress As String
    Dim Rg As Range
    Dim Rg1 As Range
    On Error Resume Next
    xAddress = Application.ActiveWindow.RangeSelection.Address
    Set Rg = Application.InputBox("please select the data range:", "Kutools for Excel", xAddress, , , , , 8)
    If Rg Is Nothing Then Exit Sub
    Set Rg = Application.Intersect(Rg, Rg.Parent.UsedRange)
    If Rg Is Nothing Then Exit Sub
    Set Rg1 = Application.InputBox("please select output cell:", "Kutools for Excel", , , , , , 8)
    If Rg1 Is Nothing Then Exit Sub
    xArr = Split(Join(Application.Transpose(Rg.Value), ","), ",")
    Rg1.Resize(UBound(xArr) + 1) = Application.Transpose(xArr)
    Rg1.Parent.Activate
    Rg1.Resize(UBound(xArr) + 1).Select
End Sub

3. Puis appuyez F5 Pour exécuter ce code, dans la boîte de dialogue qui s'affiche, sélectionnez la plage de données que vous souhaitez convertir, voir capture d'écran:

doc convertit les virgules en liste 2

4. Et cliquez sur OK, dans la boîte de dialogue suivante, spécifiez une cellule dans laquelle vous souhaitez afficher le résultat, voir capture d'écran:

doc convertit les virgules en liste 3

5. Cliquez OK bouton, les valeurs de cellules séparées par des virgules sélectionnées ont été converties en une liste de lignes. Voir la capture d'écran:

doc convertit les virgules en liste 4


Convertir une chaîne de caractères séparée par des virgules en lignes avec Kutools for Excel

Si vous avez Kutools for Excel, Avec son Cellules divisés Utilitaire, vous pouvez rapidement diviser les valeurs de cellules séparées par des virgules en plusieurs lignes ou colonnes en fonction du délimiteur de virgule dont vous avez besoin.

Kutools for Excel : avec plus de 300 compléments Excel pratiques, libre d'essayer sans limitation dans 60 jours.

Après l'installation de Kutools for Excel, s'il vous plaît faire avec les étapes suivantes:

1. Sélectionnez les valeurs de cellule que vous souhaitez convertir en lignes en fonction du séparateur de virgules.

2. Puis clique Kutools > Texte > Cellules divisés, voir capture d'écran:

doc convertit les virgules en liste 5 5

3. Dans le Cellules divisés boîte de dialogue, sélectionnez Diviser en lignes option sous la Type section, puis de la Spécifiez un séparateur section, vérifier Autre case à cocher, puis entrez la virgule dans la zone de texte, voir capture d'écran:

doc convertit les virgules en liste 6 6

4. Puis clique Ok, et une autre boîte de dialogue apparaîtra pour vous rappeler de sélectionner une cellule pour mettre le résultat, voir capture d'écran:

doc convertit les virgules en liste 7

5. Et puis cliquez Ok bouton, les cellules séparées par des virgules ont été divisées en plusieurs lignes en fonction du délimiteur de virgule, voir capture d'écran:

doc convertit les virgules en liste 8

Cliquez pour en savoir plus sur cette fonctionnalité Split Cells ...

Télécharger et tester gratuitement Kutools for Excel maintenant!


Demo: Convertir la chaîne de texte séparée par des virgules en lignes avec Kutools for Excel

Kutools for Excel: avec plus que 200 compléments Excel pratiques, libre d'essayer sans limitation dans les jours 60. Téléchargez et essai gratuit maintenant!


Articles Liés:

Comment diviser des cellules en plusieurs colonnes ou lignes par retour chariot?

Comment diviser des valeurs de cellule en plusieurs colonnes dans Excel?


Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe Créer une liste de diffusion et envoyer des emails ...
  • Super Formula Bar (éditez facilement plusieurs lignes de texte et de formule); Disposition de lecture (facilement lire et éditer un grand nombre de cellules); Coller à la gamme filtrée...
  • Fusionner les cellules / rangées / colonnes sans perdre de données; Contenu des cellules divisées; Combiner les lignes / colonnes en double... Prévenir les cellules en double; Comparer les plages...
  • Sélectionnez Dupliquer ou Unique Des rangées; Sélectionnez les lignes vierges (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux cahiers d'exercices; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de la formule; Créer automatiquement des références à plusieurs feuilles; Insérer des balles, Cases à cocher et plus ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre contenu de cellules et commentaires...
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial en gras, en italique ...
  • Combinaison de classeurs et de feuilles de calcul; Fusionner les tables en fonction des colonnes clés; Fractionner les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDF...
  • Plus que de puissantes fonctionnalités 300. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Fonctionnalités complètes Essai gratuit du jour 30.
kte tab 201905

Office Tab apporte une interface à onglets à Office et simplifie grandement votre travail

  • Activer l'édition par onglets et la lecture dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit le nombre de clics de souris pour vous chaque jour!
fond officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    eviakhan · 2 years ago
    update to work for a single input cell (mentioned by Sid posted before me). Probably a way to do this for both scenarios, but this worked for me, I had the same issue.

    Sub RedistributeCommaDelimitedData_singleCell()

    'Updateby Extendoffice 201592

    Dim xArr() As String

    Dim xAddress As String

    Dim Rg As Range

    Dim Rg1 As Range

    On Error Resume Next

    xAddress = Application.ActiveWindow.RangeSelection.Address

    Set Rg = Application.InputBox("please select the data range:", "Kutools for Excel", xAddress, , , , , 8)

    If Rg Is Nothing Then Exit Sub

    Set Rg = Application.Intersect(Rg, Rg.Parent.UsedRange)

    If Rg Is Nothing Then Exit Sub

    Set Rg1 = Application.InputBox("please select output cell:", "Kutools for Excel", , , , , , 8)

    If Rg1 Is Nothing Then Exit Sub



    ' xArr = Split(Join(Application.Transpose(Rg.value), ","), ",") -------- need this if you have multiple input cells in your input range (Rg)

    ' replace with this for single input cell for Rg:

    xArr = Split(Rg.value, ",")

    Rg1.Resize(UBound(xArr) + 1) = Application.Transpose(xArr)

    Rg1.Parent.Activate

    Rg1.Resize(UBound(xArr) + 1).Select



    End Sub
  • To post as a guest, your comment is unpublished.
    Sid · 3 years ago
    Hi,
    I have a single row but this formula do not work for single row while it works for multiple rows could you guide on that would be a great help
    Thanks