Extraire des doublons et concaténer un attribut

Bonjour,

Je suis tout nouvel utilisateur sur ce forum et je souhaiterais obtenir l'aide de la communauté pour extraire des doublons et regrouper des valeurs.

capture

Je souhaiterais rassembler les doublons qui cumulent les conditions des colonnes A et B et regrouper en une seule cellule les données de la colone C correspondant à ces doublons pour avoir au final un truc du genre :

image

merci pour votre aide

Bonjour,

Voici un essai avec restitution sur une nouvelle feuille :

sub test()
set dico = createobject("Scripting.dictionary")
t = activesheet.usedrange.value
for i = lbound(t) to ubound(t)
    clé = t(i, 1) & "|" & t(i, 2)
    if not dico.exists(clé) then 'si clé n'existe pas
        n = n + 1 'numéro nouvelle clé > position correspondante dans le tableau t en cours de dédoublonnage
        dico(clé) = n 'clé stocke position
        for k = lbound(t, 2) to ubound(t, 2) 'la ligne n prend la valeur de la ligne i
            t(n, k) = t(i, k)
        next k
    else 'si clé existe
        pos = dico(clé) 'récupère position dans t à partir de la valeur de la clé
        t(pos, 3) = t(pos, 3) & " ; " & t(i, 3) 'maj de la colonne 3 du tableau t
    end if
next i
with sheets.add(after:=activesheet)
    .name = "Recap " & format(now, "YYMMDD HHMMSS")
    .cells(1, 1).resize(n, ubound(t, 2)).value = t
    .listobjects.add(source:=.usedrange, xllistobjecthasheaders:=xlyes).name = replace(.name, " ", "")
end with
end sub

Cdlt,

Bonjour à tous !

Faisable aussi via Power Query (complément gratuit à télécharger pour Excel 2010. Nativement intégré à compter de la version 2016).

Un fichier exemple serait le bienvenu si cette piste vous agrée.

Tout d'abord merci pour vos réponses. Je n'ai jamais lancé de macro sur excel étant novice, mais à priori la macro comporte une erreur de "syntaxe" me dit Excel

image

Bonjour à tous,

Il y a une première fois à tout .

Il manquait un opérateur de concaténation & que je viens de rajouter dans mon code. J'ai également fait une autre petite modification au niveau du nom du tableau à créer. Vous devriez désormais passer la compilation...

Cdlt,

Merci 3GB mais votre réponse ne contient pas le code

Oui, c'est parce que j'ai modifié mon code de 10:38 : https://forum.excel-pratique.com/excel/extraire-des-doublons-et-concatener-un-attribut-162417#p10053... que voici :

sub test()
set dico = createobject("Scripting.dictionary")
t = activesheet.usedrange.value
for i = lbound(t) to ubound(t)
    clé = t(i, 1) & "|" & t(i, 2)
    if not dico.exists(clé) then 'si clé n'existe pas
        n = n + 1 'numéro nouvelle clé > position correspondante dans le tableau t en cours de dédoublonnage
        dico(clé) = n 'clé stocke position
        for k = lbound(t, 2) to ubound(t, 2) 'la ligne n prend la valeur de la ligne i
            t(n, k) = t(i, k)
        next k
    else 'si clé existe
        pos = dico(clé) 'récupère position dans t à partir de la valeur de la clé
        t(pos, 3) = t(pos, 3) & " ; " & t(i, 3) 'maj de la colonne 3 du tableau t
    end if
next i
with sheets.add(after:=activesheet)
    .name = "Recap " & format(now, "YYMMDD HHMMSS")
    .cells(1, 1).resize(n, ubound(t, 2)).value = t
    .listobjects.add(source:=.usedrange, xllistobjecthasheaders:=xlyes).name = replace(.name, " ", "")
end with
end sub

Yes super merci beaucoup 3GB ça fonctionne à merveille. Heureusement que ce monde possède des personnes dévouées et sachantes comme vous

Super, je suis content que ça marche !

Au plaisir,

Rechercher des sujets similaires à "extraire doublons concatener attribut"