Recherche V Multiple

fabgru Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je souhaiterais savoir comment avoir pour un même article une formule type Recherche V multiple qui m'affiche dans des colonnes différentes l'ensemble des résultats et pas seulement le premier résultat trouvé.
Par exemple, j'ai un fichier qui contient pour l'article A des prix différents tels que 2, 4, 6 et dans un autre fichier je voudrais sur la même ligne de l'article A les résultats 2,4 et 6 et pas seulement le 2
J'espère être clair dans mes explications.
Merci pour votre retour
A voir également:

3 réponses

PHILOU10120 Messages postés 6445 Date d'inscription   Statut Contributeur Dernière intervention   824
 
Bonjour Fabgru

Une idée dans le fichier

http://www.cjoint.com/c/GDhrWcl2Rix
0
thev Messages postés 1986 Date d'inscription   Statut Membre Dernière intervention   714
 
Bonjour,

Il suffit d'utiliser la fonction personnalisée : RECHERCHEVM ci-dessous que j'ai développée.
1- l'insérer dans un module via l'éditeur VBA
2- utiliser une formule matricielle sur la plage de restitution
3- sans formule matricielle, seule la première valeur trouvée est restituée.

Elle s'utilise comme la fonction : RECHERCHEV sans le paramètre "FAUX" du fait qu'elle recherche une correspondance exacte.



Function RECHERCHEVM(argument As Variant, table As Range, indice As Integer)

Dim i As Integer, i_tab As Integer
Dim matching()

'initialisation
RECHERCHEVM = CVErr(xlErrNA)

'contrôle indice
If indice > table.Columns.Count Then Exit Function

'recherche correspondance exacte
i = 0
For i_tab = 1 To table.Rows.Count
If table.Columns(1).Rows(i_tab) = argument Then
ReDim Preserve matching(i)
matching(i) = table.Columns(indice).Rows(i_tab)
i = i + 1
End If
Next i_tab
If i > 0 Then RECHERCHEVM = matching

End Function



 
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour
une autre solution par formule ici (sans classement des codes à chercher)
voir les notas dans la feuille d'édition
https://mon-partage.fr/f/16w4elCs/
crdlmnt
0