Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Compiler le contenu de plusieurs cellules

  • Initiateur de la discussion Initiateur de la discussion Ludion62
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Ludion62

XLDnaute Nouveau
Bonjour,

Je souhaiterais compiler le contenu de plusieurs cellules dans une seule cellule en y ajoutant une virgule entre chaque valeur.

Par exemple j'ai :
A1 : 158
A2 : 163
A3 : 188

Je souhaiterais avoir en B1 la compilation suivante : 158,163,188

En sachant que le nombre de cellules est beaucoup plus important et aléatoire.

Merci de vos réponses.

Ludion62
 
Re : Compiler le contenu de plusieurs cellules

bonjour,
en B1, par exemple :
Code:
=compile(A1:A3)

avec cette fonction personnalisée:
VB:
Function compile(cc As Range) As String
Application.Volatile
Dim c As Range
For Each c In cc
    If c <> "" Then compile = compile & CStr(c) & ","
Next c
compile = Mid(compile, 1, Len(compile) - 1)
End Function

ce qui permet de gérer des plages importantes, facilement
 
Re : Compiler le contenu de plusieurs cellules

Merci Gillus pour cette réponse, mais le fichier va contenir plus de 500 cellules, et je me vois mal concatener les 500 cellules manuellement ...
Si tu as une autre solution, en code par exemple, je suis preneur !

Bonjour,

tu peux utiliser la fonction concatener ou faire en b1 =A1&";"&A2&";"&...
Cela convient il ?
 
Re : Compiler le contenu de plusieurs cellules

Bonjour à tous

une autre solution,

Code:
Range("B1").Value = Join(Application.Transpose(Range("A1", Range("A65536").End(xlUp)).Value), ";")

A noter qu'il est préférable d'avor le ; comme séparateur si les cellules sont renseignées par des nombres..

bon après midi
@+
 
Re : Compiler le contenu de plusieurs cellules

Bonjour à tous,

Puisque je l'avais écrite sous forme de fonction:

Code:
Function Compile(Plage As Range, Optional strSep As String = ",")
    'Si la plage à plus de ligne que de colonne
    'traiter que la première colonne
    If Plage.Rows.Count > Plage.Columns.Count Then
        Compile = Join(Application.Transpose(Plage.Columns(1)), strSep)
    Else
    'sionon traiter la première ligne
        Compile = Join(Application.Transpose(Application.Transpose(Plage.Rows(1))), strSep)
    End If
End Function

Utilisation dans une cellule:

= Compile (A1:A3)
Ou
= Compile (A1:A3, ";") 'pour changer le séprateur

Ou

= Complie ( A1:C1) ' en ligne
ou
= Compile ( A1:C1,";")

A+ à tous
 
Re : Compiler le contenu de plusieurs cellules

Merci Pierrot93, ça fonctionne parfaitement.
Merci également à tous de vous être penché sur mon problème.

A bientôt.

 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…