Comment avoir plusieurs résultats avec RECHERCHEV

Bonjours à tous !

Je possède une base de données (1ligne = 1 texte + 1 date) que je ne peux modifier car elle s'alimente automatiquement (macro) sur d'autre fichiers. Les données ne sont donc pas triées.

Mon besoin :

Récupérer ces données pour les afficher sur un planning automatique. Jusque là pas de problème en utilisant RECHERCHEV:

=SI(ESTERREUR(RECHERCHEV(G81;AR:AS;2;0));"";RECHERCHEV(G81;AR:AS;2;0))

Le test sert à ne rien afficher lorsque il n'y pas pas d'événement sur une date précise (plutôt que d'afficher : #VALEUR!).

Mon problème :

Parfois il y a plusieurs événements pour une même date, et la fonction rechercheV ne renvoie que le premier résultat juste, mais en ocultant les suivants s'il y en a, snif !

Question :

Comment faire apparaitre tous les resultats positifs de la fonction rechercheV ?

Le but final serait :

Table de donnée:

03/11/06 Blabla 1

01/11/06 Blabla 2

03/11/06 Blabla 3

Planning affiché:

01/11/06 Blabla 2

02/11/06

03/11/06 Blabla 1 + Blabla 3

Si quelqu'un a une idée ou une solution, je l'en remercie par avance.

Cordialement

Merci à Isno et Soft pour leur post de novembre 2005.

J’ai introduit leur fonction (voir ci-dessous) et cela fonctionne très bien.

Voilà mon premier bidouillage en VBA réussi. J’ai même plus besoin de la fonction test (pour laquelle j’avais tant sué).

Pour ceux qui voudrait utiliser cette fonction : Attention !

Ne pas référencer la recherche des valeurs sur l’intégrité des colones car, si comme dans mon cas les cellules sont tirées sur des milliers de lignes, excel va ramer pendant une demi heure pour refaire tous les calcules !

Il faut limiter la matrice de recherche, exemple : B1:B200 plutôt que B:B.

@++

Function RechecheMult(ValeurCherchée As String, MatriceCherche, MatriceTrouve, Optional Seprator As String) As String

Dim c, i As Long

If Separator = "" Then Separator = " / "

For Each c In MatriceCherche

i = i + 1

If ValeurCherchée = c Then

If RechecheMult = "" Then

RechecheMult = MatriceTrouve(i)

Else

RechecheMult = RechecheMult & Separator & MatriceTrouve(i)

End If

End If

Next c

End Function

Lien vers le post mentionné par Flagada.

Rechercher des sujets similaires à "comment resultats recherchev"