Concaténation colonnes vers une seule cellule | Résolu

sandrabordeaux

XLDnaute Nouveau
Bonjour à tous,
suite à votre superbe réactivité de la semaine dernière j'en profite à nouveau pour solliciter votre aide pour une nouvelle tâche.
Malgré de nombreuses recherches, je ne parviens pas à concatener l'intégralité de 2 colonnes en une seule cellule ou ligne.
dans le fichier joint, je cherche à concatener le prénom A1 avec A2 et ainsi de suite jusqu'à obtenir une seule cellule contenant m'ensemble de mes champs concaténés.
Il me semblait avoir vu ça dans une formation, et je crois savoir que cela s'appelait concaténation en cascade mais je ne trouve rien à ce sujet.

Dans l'attente de votre retour.
Cordialement
Sandra
 

Pièces jointes

  • prenoms.xlsx
    27.3 KB · Affichages: 355
Dernière édition:

pijaku

XLDnaute Occasionnel
Re : Concaténation colonnes vers une seule cellule

Bonjour,

En C1 saisir :
=A1&B1
En C2 saisir :
=C1&A2&B2
Etendre cette formule jusqu'en bas de la colonne C.
Copier la dernière cellule colonne C puis venir faire un Collage spécial/Valeur dans la cellule de destination de la concaténation.
 

VDAVID

XLDnaute Impliqué
Re : Concaténation colonnes vers une seule cellule

Bonjour SandraBordeaux,

Un test en P.J en passant par macro, je ne crois pas qu'il est possible de le faire par formule avec une seule case (A ma connaissance).

Bonne journée

EDIT: Bonjour Pikaju
 

Pièces jointes

  • prenoms(1).xls
    100 KB · Affichages: 864

pijaku

XLDnaute Occasionnel
Re : Concaténation colonnes vers une seule cellule | Résolu

Bonjour VDAVID, le fil,

Tant qu'à utiliser du VBA, autant utiliser une petite fonction plus "maléable" (dans le sens ou l'on peux adapter la plage), ou pas...

Code:
Function Concat(plage As Range) As String
Dim Tabl(), i&

Application.Volatile
Tabl = Range(plage.Address)
For i = LBound(Tabl) To UBound(Tabl)
    Concat = Concat & Tabl(i, 1) & Tabl(i, 2)
Next i
End Function
Pour l'appeler depuis la feuille de calcul, il vous suffit de saisir :
=Concat(A1:B1000)
ou encore, avec une plage variable en combinant avec DECALER
=Concat(A1:DECALER(A1;;;NBVAL(B:B);2))
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 924
Membres
101 841
dernier inscrit
ferid87