Filtrer + concatener

Bonjour,

Je suis nouveau en VBA Excel, pouvez vous m'aider?

Mon fichier est une base de prestations et de fournisseurs. Pour aider dans mon filtre, j'ai concaténé toutes mes colonnes de fournisseurs.

Exemple :

Colonne A Colonne B

Soudure Fournisseur 1; Fournisseur 2

EPI SOUDURE Fournisseur 3 ; Fournisseur 1

Divers matériels Fournisseur 2; fournisseur 1

Sur une deuxième feuille, j'ai ressorti la liste unique des fournisseurs. Je souhaite concatener par fournisseurs les prestations qu'ils peuvent me fournir.

Cad :

Fournisseur 1 Soudure; EPI SOUDURE; Divers matériels

Fournisseur 2 Soudure; Divers matériels

Etc...

Merci pour votre aide.

17classeur-test.xlsx (9.93 Ko)

Bonjour,

Si tu disais ce que tu veux obtenir ?

Je veux obtenir dans la 1iere colonne, la liste des fournisseurs sans doublons, et dans la 2ieme colonne la liste des prestations pour lesquelles ils sont référencés.

Bonjour,

Sub ListerFrnPrst()
    Dim d As Object, Tfp(), Frn, Prst$, n%, i%, j%
    Set d = CreateObject("Scripting.Dictionary")
    With Worksheets("Prestations")
        n = .Cells(.Rows.Count, 1).End(xlUp).Row
        For i = 2 To n
            Frn = Split(.Cells(i, 3), ";")
            For j = 0 To UBound(Frn)
                If Frn(j) <> "" Then
                    If d.exists(Frn(j)) Then
                        Prst = d(Frn(j)) & ";" & .Cells(i, 2)
                        d(Frn(j)) = Prst
                    Else
                        d(Frn(j)) = .Cells(i, 2)
                    End If
                End If
            Next j
        Next i
    End With
    ReDim Tfp(d.Count - 1, 1): n = 0
    For Each Frn In d.keys
        Tfp(n, 0) = Frn: Tfp(n, 1) = d(Frn): n = n + 1
    Next Frn
    With Worksheets("Fournisseurs")
        .Range("A1").CurrentRegion.Offset(1).ClearContents
        .Range("A2").Resize(n, 2).Value = Tfp
    End With
End Sub

Cordialement.

Merci, ça marche comme je le souhaitais.

Rechercher des sujets similaires à "filtrer concatener"