Passer au contenu principal

Diviser les chaînes de texte par délimiteur en plusieurs lignes - 3 astuces rapides

Normalement, vous pouvez utiliser la fonction Texte en colonne pour diviser le contenu des cellules en plusieurs colonnes par un délimiteur spécifique, tel qu'une virgule, un point, un point-virgule, une barre oblique, etc. Mais, parfois, vous devrez peut-être diviser le contenu des cellules délimitées en plusieurs lignes et répétez les données des autres colonnes comme illustré ci-dessous. Avez-vous de bons moyens de gérer cette tâche dans Excel ? Ce didacticiel présentera quelques méthodes efficaces pour effectuer ce travail dans Excel.


Vidéo : Diviser les chaînes de texte par délimiteur en plusieurs lignes


Méthode A : diviser le texte délimité en plusieurs lignes par code VBA

Dans cette section, je vais introduire deux codes VBA pour aider à diviser le contenu des cellules qui sont séparés par un certain délimiteur.

Divisez le texte en le séparant par une virgule, un espace, un point-virgule, etc.

Pour diviser les chaînes de texte séparées par un délimiteur normal, tel qu'une virgule, un espace, un point-virgule, une barre oblique, etc., le code suivant peut vous rendre service. Veuillez suivre les étapes ci-dessous :

 Notes: Ce code ne pas support annuler, vous feriez mieux de sauvegarder les données avant d'appliquer ce code.

Étape 1 : Ouvrez l'éditeur de module VBA et copiez le code

1. Activez la feuille que vous souhaitez utiliser. Et puis, appuyez sur Alt + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. Dans la fenêtre ouverte, cliquez sur insérer > Module pour créer un nouveau module vierge.

3. Ensuite, copiez et collez le code ci-dessous dans le module vide.

Code VBA : diviser le texte par un délimiteur spécifique (virgule, point, espace, etc.)

Sub SplitTextIntoRows()
'UpdatebyExtendoffice
    Dim xSRg, xIptRg, xCrRg, xRg As Range
    Dim xSplitChar As String
    Dim xArr As Variant
    Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer
    Dim xWSh As Worksheet
    Set xSRg = Application.InputBox("Select a range:", "Kutools for Excel", , , , , , 8)
    If xSRg Is Nothing Then Exit Sub
    xSplitChar = Application.InputBox("Type delimiter:", "Kutools for Excel", , , , , , 2)
    If xSplitChar = "" Then Exit Sub
    Application.ScreenUpdating = False
    xRow = xSRg.Row
    xColumn = xSRg.Column
    Set xWSh = xSRg.Worksheet
    For xFNum = xSRg.Rows.Count To 1 Step -1
        Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)
        xArr = Split(xRg, xSplitChar)
        xIndex = UBound(xArr)
        For xFFNum = LBound(xArr) To UBound(xArr)
            xRg.EntireRow.Copy
            xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown
            xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xIndex)
            xIndex = xIndex - 1
        Next
        xRg.EntireRow.Delete
    Next
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub   

Étape 2 : Exécutez le code pour obtenir le résultat

1. Après avoir collé le code, veuillez appuyer sur F5 clé pour exécuter ce code. Ensuite, une boîte de dialogue apparaîtra pour vous rappeler de sélectionner les cellules contenant le texte délimité que vous souhaitez diviser, voir capture d'écran :

2. Cliquez ensuite sur OK, une autre boîte de dialogue apparaît pour vous rappeler de taper le séparateur sur lequel vous souhaitez diviser les données. Ici, je tape une virgule et un espace (, ), voir capture d'écran :

3. Enfin, cliquez sur OK bouton. Maintenant, vous verrez que les chaînes de texte sélectionnées sont divisées en lignes en fonction de la virgule et d'autres données de colonnes relatives sont répétées comme illustré ci-dessous :


Fractionner le texte séparé par un saut de ligne

Si le contenu de vos cellules est séparé par des sauts de ligne, pour les diviser en plusieurs lignes, voici un autre code VBA qui peut vous aider.

 Notes: Ce code ne pas support annuler vous feriez mieux de sauvegarder les données avant d'appliquer ce code.

Étape 1 : Ouvrez l'éditeur de module VBA et copiez le code

1. presse Alt + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.

2. Dans la fenêtre ouverte, cliquez sur insérer > Module pour créer un nouveau module vierge.

3. Ensuite, copiez et collez le code ci-dessous dans le module vide.

Code VBA : fractionner le texte par saut de ligne

Sub SplitTextIntoRows()
'UpdatebyExtendoffice
    Dim xSRg, xIptRg, xCrRg, xRg As Range
    Dim xSplitChar As String
    Dim xArr As Variant
    Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer
    Dim xWSh As Worksheet
    Set xSRg = Application.InputBox("Select a range:", "Kutools for Excel", , , , , , 8)
    If xSRg Is Nothing Then Exit Sub
    xSplitChar = Chr(10)
    Application.ScreenUpdating = False
    xRow = xSRg.Row
    xColumn = xSRg.Column
    Set xWSh = xSRg.Worksheet
    For xFNum = xSRg.Rows.Count To 1 Step -1
        Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)
        xArr = Split(xRg, xSplitChar)
        xIndex = UBound(xArr)
        For xFFNum = LBound(xArr) To UBound(xArr)
            xRg.EntireRow.Copy
            xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown
            xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xIndex)
            xIndex = xIndex - 1
        Next
        xRg.EntireRow.Delete
    Next
    Application.CutCopyMode = False
    Application.ScreenUpdating = True
End Sub 

Étape 2 : Exécutez le code pour obtenir le résultat

1. Après avoir collé le code, veuillez appuyer sur F5 clé pour exécuter ce code. Dans la boîte qui apparaît, veuillez sélectionner les cellules que vous souhaitez diviser, voir capture d'écran :

2. Cliquez ensuite sur OK , les données des cellules sélectionnées sont divisées en lignes comme illustré ci-dessous :


Méthode B : 10 s pour diviser le texte délimité en plusieurs lignes par Kutools for Excel

Si vous avez installé Kutools for Excel, Avec son Diviser les données en lignes fonction, vous pouvez diviser les chaînes de texte en plusieurs lignes par n'importe quel délimiteur que vous avez spécifié. Veuillez suivre les étapes suivantes :

Étape 1 : sélectionnez la fonctionnalité Fractionner les données en lignes

Cliquez Kutools > Fusionner et fractionner > Diviser les données en lignes, voir capture d'écran:

Étape 2 : Spécifiez les cellules de données et le délimiteur pour le fractionnement

Dans la boîte de dialogue qui s'affiche, utilisez les options suivantes :

  • 1). Sélectionnez la liste des cellules que vous souhaitez séparer de la Plage (colonne unique) zone de texte;
  • 2). Ensuite, choisissez le délimiteur qui sépare vos données, ici, je choisirai Autres et tapez une virgule et un espace (, ) dans la zone de texte ;
  • 3). Enfin, cliquez OK .

Maintenant, les cellules sélectionnées avec des chaînes de texte délimitées ont été converties en plusieurs lignes en fonction du séparateur spécifique, voir capture d'écran :

 Pourboires: Si vous souhaitez restaurer les données d'origine, il vous suffit d'appuyer sur Ctrl + Z pour défaire.

Facile à utiliser? Intéressé par cette fonctionnalité, veuillez cliquez pour télécharger pour obtenir un essai gratuit pendant 30 jours.


Méthode C : diviser le texte délimité en plusieurs lignes en Power Query

Si vous utilisez Office 365 ou Excel 2016 et versions ultérieures, Power Query est un outil puissant qui peut vous aider à diviser du texte délimité en plusieurs lignes ou colonnes. Il est utile si vous souhaitez que les données fractionnées soient actualisées lorsque vos données d'origine changent. Veuillez suivre les étapes suivantes pour le terminer :

Étape 1 : Introduisez le tableau de données dans Power Query

1. Sélectionnez la plage de données que vous souhaitez utiliser, puis cliquez sur Données > De la table, voir capture d'écran:

 Pourboires: Dans Excel 2019 et Office 365, cliquez sur Données > À partir du tableau/plage.

2. Dans le pop-out Créer un tableau boîte de dialogue, cliquez sur OK bouton pour créer un tableau, voir capture d'écran :

3. Maintenant le Power Query Éditeur fenêtre s'affiche avec les données, voir capture d'écran :

Étape 2 : Effectuez les transformations dans Power Query

1. Sélectionnez la colonne que vous souhaitez fractionner. Et puis, cliquez Accueil > Colonne divisée > Par délimiteur, voir capture d'écran:

2. dans le Fractionner la colonne par délimiteur boite de dialogue:

Pour séparer les chaînes de texte par virgule, espace, point-virgule, etc., procédez comme suit :

  • 1). Choisissez le délimiteur par lequel vos données sont séparées de la Sélectionnez ou saisissez un délimiteur la liste déroulante;
  • 2). Sélectionner Chaque occurrence du délimiteur du Fractionner à section;
  • 3). Puis clique Options avancées pour développer la section, puis sélectionnez rangées sous le Séparé en;
  • 4). Enfin, cliquez OK pour fermer cette boîte de dialogue.

Pour diviser des chaînes de texte en plusieurs lignes par saut de lien, procédez comme suit :

  • 1). Choisir Coutume du Sélectionnez ou saisissez un délimiteur la liste déroulante;
  • 2). Du Insérer des caractères spéciaux déroulant, cliquez Saut de ligne, et les personnages #(lf) sera inséré dans la zone de texte sous le Coutume automatiquement;
  • 3). Sélectionner Chaque occurrence du délimiteur de la section Fractionner à ;
  • 4). Puis clique Options avancées pour développer la section, puis sélectionnez rangées sous le Séparé en;
  • 5). Enfin, cliquez OK pour fermer cette boîte de dialogue.

3. Maintenant, les données sélectionnées ont été divisées en plusieurs lignes comme illustré ci-dessous :

Étape 3 : Sortez le Power Query vers un tableau Excel

1. Et puis, vous devez sortir les données dans votre feuille de calcul. Cliquez s'il vous plait Accueil > Fermer et charger > Fermer et charger / Fermer et charger vers, (ici, je clique Fermer et charger), voir capture d'écran:

 Pourboires: Cliquez Fermer et charger sortira les données dans une nouvelle feuille de calcul ; Cliquez sur Fermer et charger vers option, les données seront sorties sur toute autre feuille dont vous avez besoin.

2. Enfin, les données seront chargées dans une nouvelle feuille de calcul, voir capture d'écran :

 Pourboires: Si vous devez fréquemment mettre à jour vos données dans le tableau d'origine, ne vous inquiétez pas, il vous suffit de cliquer avec le bouton droit sur le tableau de résultats et de cliquer sur Refresh pour obtenir dynamiquement le nouveau résultat.


Articles connexes:

  • Fractionner les valeurs des cellules en plusieurs colonnes
  • Dans Excel, lorsque vous souhaitez diviser une liste de valeurs de cellule en plusieurs colonnes par certains délimiteurs, tels que la virgule, l'espace, le point, la nouvelle ligne, etc., normalement, la fonction intégrée Texte en colonnes peut vous aider à terminer cette étape de travail. par étape. Cet article, je vais vous parler de quelques bonnes astuces pour diviser les valeurs des cellules en plusieurs colonnes ou lignes facilement et rapidement.
  • Fractionner une cellule en plusieurs lignes ou colonnes
  • Supposons que vous ayez une seule cellule contenant plusieurs contenus séparés par un caractère spécifique, par exemple un point-virgule, et que vous souhaitiez diviser cette longue cellule en plusieurs lignes ou colonnes en fonction du point-virgule, dans ce cas, avez-vous des moyens rapides le résoudre dans Excel?
  • Fractionner la chaîne de texte par cas
  • Dans Excel, nous divisons généralement le texte par une largeur fixe ou un délimiteur avec la fonction Texte en colonnes, mais avez-vous déjà essayé de diviser le texte en majuscules et en minuscules? Par exemple, vous avez une liste de données et vous devez les diviser en deux colonnes en fonction de la casse: une colonne contient une chaîne en minuscules et l'autre une chaîne en majuscules, comme illustré ci-dessous. La fonction Texte en colonnes ne prend pas en charge cette opération, cependant, je peux introduire des astuces pour diviser rapidement la chaîne de texte au cas par cas dans Excel.
  • Diviser le numéro en chiffres individuels
  • Supposons que vous deviez diviser ou diviser le nombre en chiffres individuels comme illustré ci-dessous, que pouvez-vous faire pour y parvenir? Cet article vous fournira deux méthodes.
Comments (0)
No ratings yet. Be the first to rate!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations