Recherche à résultats multiples à partir d'une liste

mccoy-13 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -  
mccoy-13 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis dans une impasse depuis plusieurs semaines, et je vous remercie d'avance pour vos lumières...

Dans mon classeur Excel j'ai une feuille qui contient ma base de données, avec notamment ma liste de produits achetés, les références clients, contrats etc... et j'ai une seconde feuille qui contient le détail de ma facturation. La seule chose qui lie ces deux feuilles c'est la référence contrat.

J'aimerai donc pouvoir trouver à partir de mes références contrats de ma feuille1 de facturation, l'ensemble des produits achetés par le client dans ma BDD en feuille2 (en incluant les informations contenues dans les colonnes voisines).

La rechercheV me limite grandement car elle ne permet d'obtenir qu'un seul résultat de recherche. Je pensais donc à deux solutions que je n'arrive pas à mettre en place :

- soit un module VBA qui me permettrait de pouvoir effectuer une recherche me donnant plusieurs résultats qui serait éclatés sur N lignes et colonnes

- soit une mise en forme conditionnelle qui me permettrait de mettre en valeur mes références contrats dans les deux feuilles.

J'ai essayé le code suivant (de mister RDR sur youtube) mais cela ne fonction que pour une colonne :

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

Dim ChaineValeursTrouvees As String
ChaineValeursTrouvees = ""

If Separator = "" Then Separator = ";"

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

Avez vous une idée pour mon exemple ?

Merci
A voir également:

1 réponse

michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
Bonjour

voir
https://mon-partage.fr/f/BzDBhgAE/

en espèrant que...
0
mccoy-13 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai déjà vu cette solution mais elle ne colle pas avec mon cas car je dois rechercher plus de 900 références différentes et j'aimerai afficher l'ensemble des résultats dans une feuille. Or ici je ne peux voir qu'une référence.
0