Recherche v / filtre / concatenation probleme insoluble

Bonjour

Dans un onglet Excel RECAP j'ai deux colonnes la colonne BC et la colonne référence de contrôle (voir ci-dessous)

Dans l'autre onglet Excel BASE j'ai des centaines de contrôle mais aussi à nouveau la colonne BC

Je cherche à remplir automatiquement l'onglet récap des contrôles comme dans l'exemple ci-dessous le problème c'est que la fonction Recherche V remonte toujours le même contrôle, la fonction filtre ne fonctionne pas et je cherche a concaténer les contrôles dans la même cellule.

J'ai l'impression que c'est impossible.

Vous avez une idée ???

Onglet RECAP

BCRéférence Control
361500CSF00201 221; CSF00201244; CSF00201500)
334088CSF00201102; CSF00201109; CSF00201241
361508CSF00201109; CSF00201248; CSF00201515

ONGLET BASE

BCControl
361500CSF00201221
334088CSF00201102
361508CSF00201109
361500CSF00201244
334088CSF00201109
361508CSF00201248
361500CSF00201500
334088CSF00201241
361508CSF00201515

Bonjour,

C'est possible avec une formule matricielle, voici le résultat:

Ps: ça ne fonctionne pas avec la fonction de compatibilité CONCATENER, il faut bien utiliser CONCAT.

Pour ceux qui n'ont pas cette fonction, on peut en bricoler une, avec une fonction perso codée en VBA on peut faire:

Function concatenation(separateur As String, ParamArray valeurs() As Variant)
Dim texte As String
Dim testDimension

For Each tableau In valeurs()
testDimension = 0
    On Error Resume Next
    testDimension = UBound(tableau, 2)
    On Error GoTo 0

    If testDimension = 0 Then
        concatTableau texte, separateur, tableau, 1
    Else
        concatTableau texte, separateur, tableau, 2
    End If
Next tableau

concatenation = texte
End Function

Private Function concatTableau(ByRef texte As String, separateur As String, tableau, dimension) As Variant
If dimension = 1 Then
    For i = LBound(tableau, 1) To UBound(tableau, 1)
        If Not tableau(i) = "" Then
            texte = texte & IIf(texte = "", "", separateur) & tableau(i)
        End If
    Next i
Else
    For i = LBound(tableau, 1) To UBound(tableau, 1)
        If Not tableau(i, 1) = "" Then
            texte = texte & IIf(texte = "", "", separateur) & tableau(i, 1)
        End If
    Next i
End If
End Function
Rechercher des sujets similaires à "recherche filtre concatenation probleme insoluble"