Concaténer cellules

nabilinkin Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   -  
cousinhub29 Messages postés 1113 Date d'inscription   Statut Membre Dernière intervention   -
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

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    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
  2. nabilinkin Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   1
     
    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
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      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
  3. cousinhub29 Messages postés 1113 Date d'inscription   Statut Membre Dernière intervention   383
     
    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
    1. nabilinkin Messages postés 16 Date d'inscription   Statut Membre Dernière intervention   1
       
      bonsoir cousinhub29,

      Non les lignes ne sont po en bloc, il ya pas de vide.
      0
  4. cousinhub29 Messages postés 1113 Date d'inscription   Statut Membre Dernière intervention   383
     
    Re-,

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

    OK, je regarde
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. cousinhub29 Messages postés 1113 Date d'inscription   Statut Membre Dernière intervention   383
     
    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