Bonjour à tous,

J'ai trouvé un module VBA pour une Recherchev comportant plusieurs résultats à partir d'un seul élément.

Feuille 1 : Tableau avec les infos à récupérer

Feuille 2 :
Colonne A : ID
Colonne de B à L : les infos à récupérer en Feuille 1 sur base de l'ID, 10 résultats s'affichent sous forme de ligne (de la ligne 3 à la ligne 12 dans mon cas).
A l'heure actuelle, je n'ai trouvé le moyen que de fusionner la colonne A ligne 3 à 12.

Extrait module :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Function VLookUpListSplitPerCells(ValeurRecherchee As Range, TableDeRecherche As Range, NumColonne As Integer, Optional Separator As String) As Variant
 
Dim NbLignes As Integer
NbLignes = TableDeRecherche.Rows.Count
 
Dim CompteurValeursTrouvees As Integer
CompteurValeursTrouvees = 0
 
If Separator = "" Then Separator = ";"
 
Dim ChaineValeursTrouvees As String
 
For i = 1 To NbLignes
    If TableDeRecherche(i, 1).Value = ValeurRecherchee.Value Then
        CompteurValeursTrouvees = CompteurValeursTrouvees + 1
        If CompteurValeursTrouvees > 1 Then
            ChaineValeursTrouvees = ChaineValeursTrouvees & Separator & TableDeRecherche(i, NumColonne).Value
        Else
            ChaineValeursTrouvees = TableDeRecherche(i, NumColonne).Value
        End If
    End If
Next i
 
VLookUpListSplitPerCells = Application.WorksheetFunction.Transpose(Split(ChaineValeursTrouvees, Separator))
 
End Function
Formule colonne B (matrice ligne 3 à 12) {=vlookUpListsplitPercells($A3;COMPTA!$D$18:$O$20000;2;"/")
Formule colonne C (matrice ligne 3 à 12) {=vlookUpListsplitPercells($A3;COMPTA!$D$18:$O$20000;3;"/")
Et ainsi de suite jusqu'à la colonne L

Comment puis-je copier/coller les formules sans crainte d'erreur et de manière automatique ?

En effet mon tableau en feuille 1 avec les infos à récupérer fait 20.000 lignes :-/ X 10 résultats... Je vous laisse faire le calcul .

Merci beaucoup de votre précieuse aide.