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 :
Formule colonne B (matrice ligne 3 à 12) {=vlookUpListsplitPercells($A3;COMPTA!$D$18:$O$20000;2;"/")
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 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.
Partager