Concaténer cellules

Fermé
nabilinkin Messages postés 16 Date d'inscription lundi 17 janvier 2011 Statut Membre Dernière intervention 8 septembre 2011 - 8 sept. 2011 à 16:48
cousinhub29 Messages postés 955 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 15 novembre 2024 - 8 sept. 2011 à 19:49
Bonjour,

SVP, jai besoin de concaténer des cellules pour avoir le résultat mis en exergue ci-dessous à travers VBA

Pour toutes les cellules ayant l'intitulé A ou B ou C... concaténer toutes les cellules adjacentes


A AAA AAABBBCCC
A BBB AAABBBCCC
A CCC AAABBBCCC

B DDD DDDEEEFFF
B EEE DDDEEEFFF
B FFF DDDEEEFFF

Je vous remercie d'avance.


5 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 414
8 sept. 2011 à 17:20
Bonjour
pas clair, là on ne sait ni ce que vous avez dans les cellules, ni ce que vous voulez obtenir;
Le mieux serait de faire un petit modèle (avec donnée et type de résultat souhaité ) et de le placer sur:
http://www.cijoint.fr
en revenant ici placer le lien donné par le site.
à vous lire
crdlmnt
1
nabilinkin Messages postés 16 Date d'inscription lundi 17 janvier 2011 Statut Membre Dernière intervention 8 septembre 2011 1
8 sept. 2011 à 17:50
Re;

Je vous remercie pour votre prompte réponse.

Le lien du fichier

http://www.cijoint.fr/cjlink.php?file=cj201109/cijzmgYcu2.xlsx

Le résultat souhaité est sur la colonne C

A titre de précision,je travaille sur excel 2007.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 414
8 sept. 2011 à 19:01
bien reçu mais malheureusement je ne suis pas dans le coup sur celui là. Je vous laisse dans des mains plus compétentes.
Bonne chance
Crdlmnt
0
cousinhub29 Messages postés 955 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 15 novembre 2024 344
Modifié par cousinhub29 le 8/09/2011 à 19:23
Bonsoir,

En partant du principe que chaque bloc à concaténer est séparé par une cellule vide, tu peux essayer ce code :

Sub concat() 
Dim Ar As Range 
For Each Ar In Columns(2).SpecialCells(xlCellTypeConstants, 23).Areas 
    Ar.Offset(, 1) = Replace(Join(Application.Transpose(Ar.Areas(1).Value2)), " ", "") 
Next Ar 
End Sub 


Bonne soirée
0
nabilinkin Messages postés 16 Date d'inscription lundi 17 janvier 2011 Statut Membre Dernière intervention 8 septembre 2011 1
8 sept. 2011 à 19:25
bonsoir cousinhub29,

Non les lignes ne sont po en bloc, il ya pas de vide.
0
cousinhub29 Messages postés 955 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 15 novembre 2024 344
8 sept. 2011 à 19:32
Re-,

De l'utilité de joindre un fichier le plus proche possible de la structure réelle du fichier initial....

OK, je regarde
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cousinhub29 Messages postés 955 Date d'inscription mardi 10 août 2010 Statut Membre Dernière intervention 15 novembre 2024 344
8 sept. 2011 à 19:49
Re-,

En partant du principe que la colonne A est triée.....

Sub concat()
Dim Cel As Range, Ar As Range
Dim It
Dim LesTypes As Object
Set LesTypes = CreateObject("Scripting.Dictionary")
For Each Cel In Range("A3:A" & Cells(Rows.Count, 1).End(xlUp).Row)
    LesTypes(Cel.Value) = Cel.Value
Next Cel
For Each It In LesTypes.items
    ActiveWorkbook.Names.Add Name:="Hub", RefersToR1C1:= _
        "=OFFSET(Feuil1!R1C1,MATCH(""" & It & """,Feuil1!C1,0)-1,,COUNTIF(Feuil1!C1,""" & It & """))"
    Range("hub").Offset(, 3) = Join(Application.Transpose(Range("Hub").Offset(, 1).Areas(1).Value2), "")
Next It
ActiveWorkbook.Names("Hub").Delete
End Sub


Sinon, envoie un fichier vraiment au plus près de la structure réelle de ton fichier de travail...

Bonne soirée
0