RechercheV avec des doublons

Salut

Voila je cherche à faire afficher tous les résultats d'une recherche.

ex :

dans une liste j'ai 2 fois le N° 4 (dans la colonne A) et je veux en retour les 2 deux valeur texte associer (de la colonne B).

Malheurseusement RECHERCHEV ne me retour qu'une seulle valeur !!!

Quelq'un a une solution pour moi

Merci d'avance

Possible avec une fonction personnalisée en VBA :

Fonction à copier dans un module :

[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[/b]

Ensuite, utilise cette fonction comme la fonction comme une fonction Excel, mais avec les arguments correspondants :

=RechecheMult(ValeurCherchée,MatriceCherche,MatriceTrouve, " ; ")

le dernier argument separator est optionel et permet de définir la séparation entre les valeurs trouvées. Par défaut : /

merci soft

Ok super ca marche, j'ai mes resultats à la suite separe par des /

Mais serait il possible d'avoir un résultat par cellule ?

Pour le momoent ca donne:

en C1=> valeur1 / valeur2 / valuer3....

Et j'aimerais que ca donne:

en C1=> valuer1

en C2=> valeur2

en c3=> valeur 3

Dis moi si c possible, je vais voir si je peux trouver, mais le VBA c pas trop mon truc

... Si tu le disais dans ta question directement, parce que ça change tout...

On ne peut pas avoir une fonction dans Excel en utilisant = qui renvoi le résultat sur plusieurs cellules.

Seule solution, faire une macro, mais là reproblème comment donner les adresses des cellules pour la recherche, le résultat et où tu les veux.

Bon après près d'1 heure d'essais, je te propose la macro suivante :

Sub RechecheMlt()
    Dim ValeurCherchée As String, MatriceCherche As New Collection, MatriceTrouve As New Collection, Ligne As Long
    Dim c As String, i As Long, Z As Long, ColonneCherche As String, ColonneTrouve As String, LastLigne As Long
    Dim ColonneRésultat As String, Maj As Boolean, RepMaj As Integer

    ValeurCherchée = InputBox("Valeur cherchée")
    If ValeurCherchée = "" Then Exit Sub

    ColonneCherche = InputBox("Colonne où il faut chercher cette valeur", "Entrée", "A")
    If ColonneCherche = "" Then Exit Sub

    ColonneTrouve = InputBox("Colonne contenant les résultat à renvoyer", "Entrée", "B")
    If ColonneTrouve = "" Then Exit Sub

    ColonneRésultat = InputBox("Colonne ou mettre les valeurs correspondantes", "Entrée", "C")
    If ColonneRésultat = "" Then Exit Sub

    RepMaj = MsgBox("Respectez la casse de " & ValeurCherchée & " ?", 4, "Entrée")
    Maj = IIf(RepMaj = 6, True, False)
    ValeurCherchée = IIf(Maj, ValeurCherchée, UCase(ValeurCherchée))

    LastLigne = Range(ColonneCherche & "1").End(xlDown).Row
    On Error GoTo Erreur
    For Z = 1 To LastLigne
        MatriceCherche.Add Range(ColonneCherche & Z).Value
        MatriceTrouve.Add Range(ColonneTrouve & Z).Value
    Next Z

    For i = 1 To MatriceCherche.Count
        c = IIf(Maj, MatriceCherche(i), UCase(MatriceCherche(i)))

        If ValeurCherchée = c Then
            Ligne = Ligne + 1
            Range(ColonneRésultat & Ligne) = MatriceTrouve(i)
        End If
    Next i

    Exit Sub

Erreur:
    MsgBox Error & " c'est certainement le nom des colonnes, entrez uniquement la lettre ..."
End Sub

Bonjour cette macros et parfaite mais pouvez-vous y incorporer incorporer un critère supplémentaire? exemple: on demande un critère de la colonne a correspondre mais il faudrait en plus qu'un critère d'une autre colonne soit respecter et que la liste soit tirée sur base des ces deux critères ?

est possible d'avoir ca intégré dans la macros ?

et si on pouvais prendre directement toutes les données des lignes touvées pour les collées ?

merci d'avance

bonjour

une prposition sans vba

279david1313.xlsx (10.66 Ko)

cordialement

impossible d'ouvrir le fichier

je suis reparti de la macros car elle est fort utile mais j'ai besoin de l'adapter quelque peu :/

y a t-il quelqu'un encore pour effectuer cette modif sur le code présent ci dessus?

Possible avec une fonction personnalisée en VBA :

Fonction à copier dans un module :

[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[/b]

Ensuite, utilise cette fonction comme la fonction comme une fonction Excel, mais avec les arguments correspondants :

=RechecheMult(ValeurCherchée,MatriceCherche,MatriceTrouve, " ; ")

le dernier argument separator est optionel et permet de définir la séparation entre les valeurs trouvées. Par défaut : /

Bonjour, quelqu'un a une idée pour faire une recherche partielle d'une cellule avec cette macro?

Merci d'avance.

Rechercher des sujets similaires à "recherchev doublons"