Comment convertir une liste de colonnes en liste séparée par des virgules dans Excel ?
Lorsque vous travaillez avec des données Excel, vous pouvez souvent avoir besoin de transformer une liste verticale d'éléments en une seule chaîne de texte séparée par des virgules. Que vous prépariez une entrée pour une base de données, rédigiez un rapport ou simplement rangiez votre feuille de calcul, il existe plusieurs façons d'y parvenir. Ci-dessous, nous explorerons quatre méthodes optimisées :
Convertir une liste de colonnes en liste séparée par des virgules avec des formules
- Formule 1 : Fonction TEXTJOIN (Excel 2019 et versions ultérieures, Office 365)
- Formule 2 : Fonctions CONCAT et SI (toutes les versions d'Excel)
Convertir une liste de colonnes en liste séparée par des virgules avec Kutools pour Excel
Convertir une liste de colonnes en liste séparée par des virgules avec du code VBA
Convertir une liste de colonnes en liste séparée par des virgules avec des formules
Excel ne possède pas de fonction intégrée pour convertir une colonne en liste séparée par des virgules, mais vous pouvez facilement y parvenir : utilisez TEXTJOIN dans Office 365/2019+, ou CONCAT+SI dans toutes les versions pour rationaliser vos données.
Formule 1 : Fonction TEXTJOIN (Excel 2019 et versions ultérieures, Office 365)
En tant que fonction de concaténation la plus avancée d'Excel, TEXTJOIN simplifie le processus grâce à sa double fonctionnalité - sélection flexible du délimiteur et gestion automatique des cellules vides - offrant la solution la plus simple pour les utilisateurs contemporains d'Excel.
1. Sélectionnez la cellule où vous souhaitez que la liste séparée par des virgules apparaisse, puis entrez la formule suivante :
=TEXTJOIN(", ", TRUE, A2:A10)
2. Appuyez sur Entrée pour obtenir la valeur séparée par des virgules.
- ", " est le délimiteur (virgule plus espace).
- TRUE indique à Excel d'ignorer les cellules vides.
- A2:A10 est votre plage source.
=TEXTJOIN(", ", TRUE, UNIQUE(A2:A10))
- 🔹Implémentation simple : Une seule fonction nécessaire.
- 🔹Délimiteur flexible : Peut utiliser ", " (virgule+espace) ou simplement "," selon les besoins.
- 🔹Gestion automatique : Ignore les cellules vides lorsque TRUE est défini pour ignorer_les_cellules_vides.
- 🔸Nécessite Excel 2019 et versions ultérieures / Office 365.
Formule 2 : Fonctions CONCAT et SI (toutes les versions d'Excel)
Avant TEXTJOIN, vous pouviez combiner CONCAT avec la fonction SI pour assembler une liste, puis supprimer le délimiteur initial.
1. Sélectionnez la cellule où vous souhaitez que la liste séparée par des virgules apparaisse, puis entrez la formule suivante :
=CONCAT(IF(A2:A10<>"", A2:A10 & ", ", ""))
2. Appuyez simultanément sur Ctrl + Maj + Entrée pour obtenir le résultat.
- SI(A2:A100<>"", A2:A100 & ",", "") : Vérifie chaque cellule dans A2:A100. Si une cellule n'est pas vide, retourne sa valeur plus une virgule ; sinon, retourne une chaîne vide.
- CONCAT(...) : Concatène tous les éléments de ce tableau en une seule chaîne continue.
- 🔹Grande compatibilité : Fonctionne dans toutes les versions d’Excel qui prennent en charge les formules matricielles, sans dépendre des nouvelles fonctions.
- 🔹Ignore les cellules vides : Le test SI ignore automatiquement les cellules vides.
- 🔸Manipulation lourde : Doit être entré comme une formule matricielle, obligeant les utilisateurs à appuyer sur Ctrl + Maj + Entrée – quelque chose que beaucoup de débutants oublient.
- 🔸Mauvaises performances : Les calculs peuvent ralentir considérablement ou même bloquer lorsqu'il s'agit de gérer de grands ensembles de données (des dizaines de milliers de lignes).
- 🔸Résultat fixe : Vous devez effectuer des étapes supplémentaires pour supprimer la virgule finale si vous souhaitez retirer le dernier délimiteur.
Convertir une liste de colonnes en liste séparée par des virgules avec Kutools pour Excel
Kutools pour Excel inclut un puissant utilitaire Combiner les lignes, colonnes ou cellules sans perdre de données qui vous permet de fusionner le contenu d'une colonne entière dans une seule cellule en quelques clics. En sélectionnant votre plage source et en spécifiant un délimiteur — qu’il s’agisse d’une virgule, d’un point-virgule, d’un espace ou de tout symbole personnalisé — vous pouvez instantanément produire une liste consolidée et délimitée sans copier et coller manuellement chaque élément. L'outil offre également des options pour ignorer les cellules vides, conserver la mise en forme originale, ce qui en fait une solution idéale pour transformer rapidement des données verticales en listes nettes séparées par des virgules.
1. Sélectionnez la liste de colonnes que vous allez convertir en liste séparée par des virgules, puis cliquez sur Kutools > Fusionner & Diviser > Combiner les lignes, colonnes ou cellules sans perdre de données.
2. Dans la boîte de dialogue Combine Colonnes ou Lignes qui s’ouvre, vous devez :
- (1) Cochez l'option Fusionner en une seule cellule dans la section Fusionner les cellules sélectionnées selon les options suivantes.
- (2) Dans la section Spécifier un délimiteur, cochez l'option Autre délimiteur, et tapez une virgule ", ".
- (3.) Choisissez comment traiter les données des cellules originales. (Vous pouvez conserver le contenu des cellules originales, ou supprimer le contenu des cellules originales.)
- (4.) Spécifiez la cellule de sortie, sous la section Placer les résultats dans, sélectionnez l'option Autre cellule et cliquez pour sélectionner une cellule afin d'afficher le résultat.
- (5.) Enfin, cliquez sur le bouton OK.
Le résultat est inséré dans la cellule cible spécifiée.
- 🔹Extrêmement convivial.
- 🔹Pas de formules ni de code.
- 🔹Traite les grandes plages en douceur.
- 🔹Fusionne les lignes, colonnes ou plages avec n'importe quel délimiteur, conserve la mise en forme, et choisissez l'emplacement de sortie.
- 🔸Requiert une installation.
Convertir une liste de colonnes en liste séparée par des virgules avec du code VBA
Alternativement, si vous préférez automatiser la tâche ou avez besoin de gérer des plages plus grandes qui changent dynamiquement, vous pouvez écrire une macro VBA qui parcourt chaque cellule dans votre colonne spécifiée, ajoute sa valeur non vide suivie d'une virgule (ou tout autre délimiteur que vous choisissez), coupe le délimiteur supplémentaire à la fin, et affiche ensuite la chaîne entièrement concaténée et séparée par des virgules dans une cellule cible.
1. Maintenez Alt et F11 enfoncés sur le clavier pour ouvrir une fenêtre Microsoft Visual Basic for Applications.
2. Cliquez sur Insérer > Module, et copiez le code VBA dans le module.
VBA : Convertir une liste de colonnes en liste séparée par des virgules
Sub ChangeRange()
' Updateby Extendoffice
Dim rng As Range
Dim InputRng As Range, OutRng As Range
Dim outStr As String
Dim xTitleId As String
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Select source range:", xTitleId, InputRng.Address, Type:=8)
Set OutRng = Application.InputBox("Output to (single cell):", xTitleId, Type:=8)
outStr = ""
For Each rng In InputRng
If Len(Trim(rng.Value)) > 0 Then
If outStr = "" Then
outStr = rng.Value
Else
outStr = outStr & ", " & rng.Value
End If
End If
Next rng
OutRng.Value = outStr
End Sub
3. Cliquez sur le bouton Exécuter ou appuyez sur F5 pour exécuter le code VBA. Un dialogue apparaît à l'écran, et vous pouvez sélectionner la liste de colonnes que vous souhaitez convertir. Voir la capture d'écran :
4. Cliquez sur OK, puis un autre dialogue s'affiche pour vous permettre de sélectionner une cellule. Voir la capture d'écran :
5. Cliquez sur OK, et toutes les valeurs dans la liste de colonnes ont été converties en une liste séparée par des virgules dans une cellule.
Conclusion :
- Pour la simplicité et les performances, utilisez TEXTJOIN dans Excel 2019/365.
- Pour la compatibilité, la méthode de formule matricielle CONCAT + SI fonctionne dans toutes les versions.
- Pour les tâches ponctuelles sans formules, Kutools propose une solution en un clic.
- Pour une automatisation complète ou des règles complexes, une macro VBA est la plus flexible.
Choisissez la méthode qui correspond à votre version d'Excel, à la fréquence de la tâche et à votre confort avec les add-ins ou VBA. Avec ces techniques optimisées dans votre boîte à outils, convertir n'importe quelle colonne en une liste nette séparée par des virgules devient un jeu d'enfant. Si vous êtes intéressé par l'exploration de plus d'astuces et conseils Excel, notre site web propose des milliers de tutoriels pour vous aider à maîtriser Excel.
Articles connexes :
- Convertir le nom du mois en nombre dans Excel
- Convertir l'heure militaire en heure standard
- Convertir une cellule en plusieurs cellules/lignes dans Excel
Meilleurs outils de productivité Office
Dynamisez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité la plus essentielle pour vous...
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, au lieu d’ouvrir de nouvelles fenêtres.
- Augmentez votre productivité de50% et réduisez des centaines de clics de souris chaque jour!