Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

concaténation de plusieurs cellules

7 réponses
Avatar
antho
bonjour,
je souhaite concaténer toutes les cellules de la colonne A qui ont des
valeurs identiques dans la colonne B
comment peut on procéder
merci d'avance
Anthony

7 réponses

Avatar
michdenis
Bonjour.

En colonne C, tu peux entrer cette formule en C1
=si(a1±;a1&b1;"")
Tu la recopies sur l'ensemble de ta colonne



"antho" a écrit dans le message de groupe de discussion
:
bonjour,
je souhaite concaténer toutes les cellules de la colonne A qui ont des
valeurs identiques dans la colonne B
comment peut on procéder
merci d'avance
Anthony
Avatar
LSteph
Bonjour,
Cela risque de donner un texte extrêmement long.
comment peut on procéder


se poserait plus de savoir dans quoi tu voudrais le résultat.
En plus la fonction concatener n'est pas fâmeuse
puisqu'on est obligé d'entrer chaque ref à concatener
Exemple pour concatener A1:A4 on est obligé d'écrire
=concatener(A1;A2;A3;A4)
=concatener(a1:a4) ne foctionne pas.
c'est donc aussi simple d'écrire
¡&a2&a3&a4
donc avec la condition cela donnerait
=si(nb.si(b:b;a1);a1;"")&si(nb.si(b:b;a2);a2;"")&.... etc pour toute
la colonne

Bon courage autrement dit!

-avec VBA cela irait mieux, supposons résultat voulu en D1:

Sub concatAsiB()
Dim myR As String, myStr As String, c As Range
myR = "A1:" & [a65536].End(xlUp).Address
For Each c In Range(myR).Cells
If WorksheetFunction.CountIf(Range(myR).Offset(0, 1), c) > 0 Then
myStr = myStr & c
End If
Next
[d1] = myStr
End Sub

'lSteph

On 29 sep, 11:09, antho wrote:
bonjour,
je souhaite concaténer toutes les cellules de la colonne A qui ont des
valeurs identiques dans la colonne B  
comment peut on procéder
merci d'avance
Anthony


Avatar
antho
"LSteph" a écrit :

Bonjour,
Cela risque de donner un texte extrêmement long.
> comment peut on procéder
se poserait plus de savoir dans quoi tu voudrais le résultat.
En plus la fonction concatener n'est pas fâmeuse
puisqu'on est obligé d'entrer chaque ref à concatener
Exemple pour concatener A1:A4 on est obligé d'écrire
=concatener(A1;A2;A3;A4)
=concatener(a1:a4) ne foctionne pas.
c'est donc aussi simple d'écrire
¡&a2&a3&a4
donc avec la condition cela donnerait
=si(nb.si(b:b;a1);a1;"")&si(nb.si(b:b;a2);a2;"")&.... etc pour toute
la colonne

Bon courage autrement dit!

-avec VBA cela irait mieux, supposons résultat voulu en D1:

Sub concatAsiB()
Dim myR As String, myStr As String, c As Range
myR = "A1:" & [a65536].End(xlUp).Address
For Each c In Range(myR).Cells
If WorksheetFunction.CountIf(Range(myR).Offset(0, 1), c) > 0 Then
myStr = myStr & c
End If
Next
[d1] = myStr
End Sub

'lSteph

On 29 sep, 11:09, antho wrote:
> bonjour,
> je souhaite concaténer toutes les cellules de la colonne A qui ont des
> valeurs identiques dans la colonne B
> comment peut on procéder
> merci d'avance
> Anthony

oui je veux le résultat dans une autre colonne, mais avec ta macro je ne vois pas comment il peut regrouper le texte de la colonne A


pour etre plus explicite dans ma colonne A j'ai 1 mot par cellule (par
exemple "rue" dans A2 "de" dans A3 "la" dans A4 et"liberté" dans A5 ; en
face de ces 5 cellules donc dans B2 jusqu'à B5 j'ai une même valeur ( il y a
une valeur unque pour chaques rues) donc dans la colonne C je souhaiterais
la concaténation de tous les mots qui composent une rue
merci d'avance
Avatar
FS
Bonjour,

Si les propositions précédentes ne correspondent pas à ton besoin,
peut-être une fonction perso VBA ?

'========== Function AdrS(Plage) As String
Dim i&
For i = 1 To Plage.Count
AdrS = AdrS & Plage(i).Value & " "
Next
AdrS = RTrim(AdrS)
End Function
'==========
et en colonne C :

­rS(A2:A5)

par exemple.

FS
--
Frédéric SIGONNEAU
Modules et modèles pour Excel :
http://frederic.sigonneau.free.fr/

antho a écrit :

"LSteph" a écrit :

Bonjour,
Cela risque de donner un texte extrêmement long.
comment peut on procéder


se poserait plus de savoir dans quoi tu voudrais le résultat.
En plus la fonction concatener n'est pas fâmeuse
puisqu'on est obligé d'entrer chaque ref à concatener
Exemple pour concatener A1:A4 on est obligé d'écrire
=concatener(A1;A2;A3;A4)
=concatener(a1:a4) ne foctionne pas.
c'est donc aussi simple d'écrire
¡&a2&a3&a4
donc avec la condition cela donnerait
=si(nb.si(b:b;a1);a1;"")&si(nb.si(b:b;a2);a2;"")&.... etc pour toute
la colonne

Bon courage autrement dit!

-avec VBA cela irait mieux, supposons résultat voulu en D1:

Sub concatAsiB()
Dim myR As String, myStr As String, c As Range
myR = "A1:" & [a65536].End(xlUp).Address
For Each c In Range(myR).Cells
If WorksheetFunction.CountIf(Range(myR).Offset(0, 1), c) > 0 Then
myStr = myStr & c
End If
Next
[d1] = myStr
End Sub

'lSteph

On 29 sep, 11:09, antho wrote:
bonjour,
je souhaite concaténer toutes les cellules de la colonne A qui ont des
valeurs identiques dans la colonne B
comment peut on procéder
merci d'avance
Anthony


oui je veux le résultat dans une autre colonne, mais avec ta macro je ne vois pas comment il peut regrouper le texte de la colonne A


pour etre plus explicite dans ma colonne A j'ai 1 mot par cellule (par
exemple "rue" dans A2 "de" dans A3 "la" dans A4 et"liberté" dans A5 ; en
face de ces 5 cellules donc dans B2 jusqu'à B5 j'ai une même valeur ( il y a
une valeur unque pour chaques rues) donc dans la colonne C je souhaiterais
la concaténation de tous les mots qui composent une rue
merci d'avance


Avatar
LSteph
Sub concatClastAsiB()
Dim myR As String, myStr As String, c As Range
myR = "A1:" & [a65536].End(xlUp).Address
For Each c In Range(myR).Offset(0, 1).Cells
If c = c.Offset(1, 0) Then
myStr = myStr & c.Offset(0, -1) & " "
Else
myStr = myStr & c.Offset(0, -1)
c.Offset(0, 1) = myStr
myStr = ""
End If
Next

End Sub

'lSteph
Avatar
Sam
Bonjour, peut être une solution comme ceci : ?
http://cjoint.com/?jDulQdKK3F
Cordialement
Michel dit "Sam"

"antho" a écrit dans le message de news:



"LSteph" a écrit :

Bonjour,
Cela risque de donner un texte extrêmement long.
> comment peut on procéder
se poserait plus de savoir dans quoi tu voudrais le résultat.
En plus la fonction concatener n'est pas fâmeuse
puisqu'on est obligé d'entrer chaque ref à concatener
Exemple pour concatener A1:A4 on est obligé d'écrire
=concatener(A1;A2;A3;A4)
=concatener(a1:a4) ne foctionne pas.
c'est donc aussi simple d'écrire
¡&a2&a3&a4
donc avec la condition cela donnerait
=si(nb.si(b:b;a1);a1;"")&si(nb.si(b:b;a2);a2;"")&.... etc pour toute
la colonne

Bon courage autrement dit!

-avec VBA cela irait mieux, supposons résultat voulu en D1:

Sub concatAsiB()
Dim myR As String, myStr As String, c As Range
myR = "A1:" & [a65536].End(xlUp).Address
For Each c In Range(myR).Cells
If WorksheetFunction.CountIf(Range(myR).Offset(0, 1), c) > 0 Then
myStr = myStr & c
End If
Next
[d1] = myStr
End Sub

'lSteph

On 29 sep, 11:09, antho wrote:
> bonjour,
> je souhaite concaténer toutes les cellules de la colonne A qui ont des
> valeurs identiques dans la colonne B
> comment peut on procéder
> merci d'avance
> Anthony

oui je veux le résultat dans une autre colonne, mais avec ta macro je ne
vois pas comment il peut regrouper le texte de la colonne A


pour etre plus explicite dans ma colonne A j'ai 1 mot par cellule (par
exemple "rue" dans A2 "de" dans A3 "la" dans A4 et"liberté" dans A5 ; en
face de ces 5 cellules donc dans B2 jusqu'à B5 j'ai une même valeur ( il y
a
une valeur unque pour chaques rues) donc dans la colonne C je
souhaiterais
la concaténation de tous les mots qui composent une rue
merci d'avance


Avatar
antho
oui très bien merci sam

"Sam" a écrit :



Bonjour, peut être une solution comme ceci : ?
http://cjoint.com/?jDulQdKK3F
Cordialement
Michel dit "Sam"

"antho" a écrit dans le message de news:

>
>
> "LSteph" a écrit :
>
>> Bonjour,
>> Cela risque de donner un texte extrêmement long.
>> > comment peut on procéder
>> se poserait plus de savoir dans quoi tu voudrais le résultat.
>> En plus la fonction concatener n'est pas fâmeuse
>> puisqu'on est obligé d'entrer chaque ref à concatener
>> Exemple pour concatener A1:A4 on est obligé d'écrire
>> =concatener(A1;A2;A3;A4)
>> =concatener(a1:a4) ne foctionne pas.
>> c'est donc aussi simple d'écrire
>> ¡&a2&a3&a4
>> donc avec la condition cela donnerait
>> =si(nb.si(b:b;a1);a1;"")&si(nb.si(b:b;a2);a2;"")&.... etc pour toute
>> la colonne
>>
>> Bon courage autrement dit!
>>
>> -avec VBA cela irait mieux, supposons résultat voulu en D1:
>>
>> Sub concatAsiB()
>> Dim myR As String, myStr As String, c As Range
>> myR = "A1:" & [a65536].End(xlUp).Address
>> For Each c In Range(myR).Cells
>> If WorksheetFunction.CountIf(Range(myR).Offset(0, 1), c) > 0 Then
>> myStr = myStr & c
>> End If
>> Next
>> [d1] = myStr
>> End Sub
>>
>> 'lSteph
>>
>> On 29 sep, 11:09, antho wrote:
>> > bonjour,
>> > je souhaite concaténer toutes les cellules de la colonne A qui ont des
>> > valeurs identiques dans la colonne B
>> > comment peut on procéder
>> > merci d'avance
>> > Anthony
>>
>> oui je veux le résultat dans une autre colonne, mais avec ta macro je ne
>> vois pas comment il peut regrouper le texte de la colonne A
> pour etre plus explicite dans ma colonne A j'ai 1 mot par cellule (par
> exemple "rue" dans A2 "de" dans A3 "la" dans A4 et"liberté" dans A5 ; en
> face de ces 5 cellules donc dans B2 jusqu'à B5 j'ai une même valeur ( il y
> a
> une valeur unque pour chaques rues) donc dans la colonne C je
> souhaiterais
> la concaténation de tous les mots qui composent une rue
> merci d'avance