Note: The other languages of the website are Google-translated. Back to English

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

doc convertir les valeurs de virgule en liste 1

En supposant que vous ayez une liste de valeurs de cellule séparées par des virgules, vous devez maintenant convertir ces chaînes de texte séparées par des virgules en plusieurs lignes ou une colonne comme illustré ci-dessous. Comment diviser plusieurs valeurs de cellule en lignes en fonction du séparateur de virgule à la fois dans Excel?

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

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


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

Le code VBA suivant peut vous aider à convertir plusieurs valeurs de cellule 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 le Microsoft Visual Basic pour applications fenêtre.

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

Code VBA: convertir une chaîne de texte séparée par des virgules en lignes ou en liste

Sub RedistributeCommaDelimitedData()
'Updateby Extendoffice
    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 clé pour exécuter ce code, dans la boîte de dialogue qui apparaît, sélectionnez la plage de données que vous souhaitez convertir, voir capture d'écran:

doc convertir les valeurs de virgule 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 convertir les valeurs de virgule en liste 3

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

doc convertir les valeurs de virgule en liste 4


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

Si vous avez Kutools pour Excel, Avec son Cellules divisés utilitaire, vous pouvez rapidement diviser les valeurs de cellule séparées par des virgules en plusieurs lignes ou colonnes en fonction du séparateur de virgule selon vos besoins.

Kutools pour Excel : avec plus de 300 compléments Excel pratiques, essai gratuit sans limitation en 30 jours. 

Après l'installation de Kutools pour Excel, veuillez suivre les étapes suivantes:

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

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

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

doc convertir les valeurs de virgule 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 convertir les valeurs de virgule 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 séparateur de virgule, voir capture d'écran:

doc convertir les valeurs de virgule en liste 8

Cliquez pour en savoir plus sur cette fonctionnalité de fractionnement des cellules…

Téléchargez et essayez gratuitement Kutools for Excel Now!


Démo: Convertissez une chaîne de texte séparée par des virgules en lignes avec Kutools for Excel

Kutools pour Excel: avec plus de 300 compléments Excel pratiques, essai gratuit sans limitation dans 30 jours. Téléchargez et essayez gratuitement maintenant!

Articles Liés:

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

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


Les meilleurs outils de productivité de bureau

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 e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtréeplus
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammesplus
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellulesplus
  • 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 par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDFplus
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets 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 des centaines de clics de souris chaque jour!
bas de cabine
Commentaires (3)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Salut, j'ai une seule rangée mais cette formule ne fonctionne pas pour une seule rangée alors qu'elle fonctionne pour plusieurs rangées pourriez-vous guider ce serait une grande aide Merci
Ce commentaire a été minimisé par le modérateur sur le site
mise à jour pour fonctionner pour une seule cellule d'entrée (mentionnée par Sid posté avant moi). Probablement une façon de faire cela pour les deux scénarios, mais cela a fonctionné pour moi, j'ai eu le même problème.

Sous RedistributeCommaDelimitedData_singleCell()

'Mettre à jour par 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("veuillez sélectionner la plage de données :", "Kutools for Excel", xAddress, , , , , 8)

Si Rg n'est rien, quittez Sub

Définir Rg = Application.Intersect(Rg, Rg.Parent.UsedRange)

Si Rg n'est rien, quittez Sub

Set Rg1 = Application.InputBox("veuillez sélectionner la cellule de sortie :", "Kutools for Excel", , , , , , 8)

Si Rg1 n'est rien, quittez Sub



' xArr = Split(Join(Application.Transpose(Rg.value), ","), ",") -------- besoin de ceci si vous avez plusieurs cellules d'entrée dans votre plage d'entrée (Rg)

' remplacer par ceci pour une seule cellule d'entrée pour Rg :

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

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

Rg1.Parent.Activer

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



End Sub
Ce commentaire a été minimisé par le modérateur sur le site
J'ai une cellule avec 667 caractères, dont 119 sont des virgules.Avec ce code VBA, je ne peux pas diviser. Pouvez-vous m'aider s'il vous plaît? Merci beaucoup!
Il n'y a pas encore de commentaires postés ici
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés