Concatener le contenu de plusieurs cellules

Bonsoir,

Je suis en train de consolider une base de données de contacts.

J'ai récupéré un historique des actions réalisées sur chaque contact et j'aimerais rattacher chaque action à un seul et même contact dans une cellule commentaire.

Le problème est qu'il y existe entre 1 à x actions par contact.

J'ai tenté d'allier un rechercherv et un Concatener, mais je n'y parviens pas...

Pourriez-vous m'éclairer svp ?

Je vous joins un exemple.

Dans mon fichier source, j'ai 2500 actions à réaffecter à chaque contact.

Merci d'avance pour votre aide

Bonsoir,

une solution via une macro.

Sub concatcom()
' on travaille sur la feuille exemple
    With Worksheets("exemple")
    ' on parcourt toutes les lignes à partir de la ligne 2
        i = 2
        While .Cells(i, 1) <> "" ' tant qu'il y a une valeur en colonne 1
            found = True
            While found ' tant qu'on trouve des lignes avec le même contact
                dl = .Range("a" & Rows.Count).End(xlUp).Row ' dl dernière ligne
                If dl > i Then ' a-t-on passé la fin
                 ' on cherche une autre ligne avec le même contact
                    Set re = .Range("A" & i + 1 & ":a" & dl).Find(.Cells(i, 1), lookat:=xlWhole)
                    If Not re Is Nothing Then ' si ligne trouvée
                        .Cells(i, 2) = .Cells(i, 2) & vbNewLine & .Cells(re.Row, 2) ' on concatene l'info de la colonne 2
                        re.EntireRow.Delete ' on supprime la ligne trouvée
                    Else
                        found = False ' on n'a pas trouvé de ligne avec le même contact
                    End If
                Else
                    found = False ' on a passé la fin
                End If
            Wend
            i = i + 1 ' on passe à la ligne suivante
        Wend
    End With
End Sub

Bonjour,

Merci beaucoup pour votre macro ! Tout fonctionne parfaitement.

Très astucieux en tout cas.

Rechercher des sujets similaires à "concatener contenu"