Comment concaténer des valeurs de cellules jusqu'à ce qu'une cellule vide soit trouvée dans une colonne dans Excel ?

Par exemple, j'ai une liste de valeurs qui inclut quelques cellules vides, et je souhaite concaténer chaque ensemble de données entre les cellules vides dans une seule cellule et lister les valeurs combinées dans une autre colonne, comme le montre la capture d'écran suivante. Comment pourrais-je concaténer des cellules jusqu'à ce qu'une cellule vide soit trouvée dans une colonne ?
Concaténer des valeurs de cellules jusqu'à ce qu'une cellule vide soit trouvée dans une colonne avec un code VBA
Il n'y a pas de méthode directe pour concaténer un ensemble de cellules entre des cellules vides, mais vous pouvez appliquer le code VBA suivant pour y parvenir. Veuillez procéder comme suit :
1. Maintenez les touches ALT + F11 enfoncées pour ouvrir la fenêtre Microsoft Visual Basic pour Applications.
2. Cliquez sur Insertion > Module, puis collez le code suivant dans la fenêtre Module.
Code VBA : concaténer des valeurs de cellules jusqu'à ce qu'une cellule vide soit trouvée
Sub Concatenatecells()
'updateby Extendoffice
Dim xRg As Range
Dim xSaveToRg As Range
Dim xTxt As String
Dim xCell As Range
Dim xTStr As String
On Error Resume Next
xTxt = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select the data range:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
If xRg.Columns.Count > 1 Then
MsgBox "the selected range is more than one column", vbInformation, "Kutools for Excel"
Exit Sub
End If
Set xSaveToRg = Application.InputBox("Please select output cell:", "Kutools for Excel", , , , , , 8)
If xSaveToRg Is Nothing Then Exit Sub
Set xSaveToRg = xSaveToRg.Cells(1)
Application.ScreenUpdating = False
For Each xCell In xRg
If xCell <> "" Then
xTStr = xTStr & xCell & " "
Else
xSaveToRg.Value = xTStr
Set xSaveToRg = xSaveToRg.Offset(1)
xTStr = ""
End If
Next
If xTStr <> "" Then xSaveToRg.Value = Left(xTStr, Len(xTStr) - 1)
Application.ScreenUpdating = True
End Sub
3. Ensuite, appuyez sur la touche F5 pour exécuter ce code, et une boîte de dialogue apparaît pour vous rappeler de sélectionner la plage de données que vous souhaitez concaténer, voir capture d'écran :
4. Cliquez ensuite sur OK, et une autre boîte de dialogue apparaît, veuillez sélectionner une cellule pour afficher le résultat concaténé, voir capture d'écran :
5. Cliquez ensuite sur le bouton OK, et les données de la liste de colonnes sont concaténées entre les cellules vides, voir capture d'écran :
Concaténer des valeurs de cellules jusqu'à ce qu'une cellule vide soit trouvée dans une colonne avec Kutools pour Excel
Si vous avez Kutools pour Excel, en combinant ses fonctionnalités Transformer la plage et Combiner, vous pouvez également accomplir cette tâche aussi rapidement que possible. L'utilitaire Transformer la plage peut vous aider à convertir une seule colonne en une plage, et la fonctionnalité Combiner peut vous aider à concaténer la plage transformée en une colonne.
Après avoir installé Kutools pour Excel, veuillez procéder comme suit :
1. Sélectionnez les cellules que vous souhaitez concaténer, puis cliquez sur Kutools > Plage > Transformer la plage, voir capture d'écran :
2. Dans la boîte de dialogue Transformer la plage, cochez l'option Une seule colonne vers une plage sous le Type de transformation, puis sélectionnez Séparé par des espaces sous le Nombre de lignes par enregistrement, voir capture d'écran :
3. Cliquez ensuite sur OK, et une boîte de dialogue apparaîtra pour vous rappeler de sélectionner une cellule où afficher le résultat, voir capture d'écran :
4. Cliquez sur OK, et les données de la colonne unique ont été converties en plusieurs lignes et colonnes en fonction des cellules vides, voir capture d'écran :
5. Les données converties sont réparties sur plusieurs colonnes, vous devez donc les combiner en une seule colonne. Veuillez sélectionner la plage de données et cliquer sur Kutools > Fusionner et Diviser > Combiner les lignes, colonnes ou cellules sans perdre de données, voir capture d'écran :
6. Dans la boîte de dialogue Combiner les colonnes ou lignes, effectuez les options suivantes :
(1.) Sélectionnez l'option Combiner les colonnes depuis la section Fusionnez la plage sélectionnée de la manière suivante ;
(2.) Ensuite, spécifiez un séparateur que vous souhaitez utiliser pour séparer les valeurs concaténées ;
(3.) Choisissez comment vous souhaitez traiter les cellules combinées. Vous pouvez conserver ou supprimer les données d'origine, et vous pouvez également fusionner les cellules combinées. Voir capture d'écran :
7. Après avoir terminé les paramètres, cliquez sur le bouton OK ou Appliquer, les cellules ont été concaténées en une seule colonne avec un séparateur spécifique, voir capture d'écran :
Kutools pour Excel - Boostez Excel avec plus de 300 outils essentiels. Profitez de fonctionnalités IA gratuites en permanence ! Obtenez-le maintenant
Meilleurs outils de productivité pour Office
Boostez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité sans précédent. Kutools pour Excel propose plus de300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office, et facilite grandement votre travail
- Activez la modification 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é de50 %, et réduit des centaines de clics de souris pour vous chaque jour !