Créer une rechercheV avec correspondances multiples

Créer une rechercheV avec correspondances multiples - VB/VBA/VBS - Programmation

Marsh Posté le 17-04-2014 à 11:06:12    

Bonjour à tous,
 
Je travaille dans la comptabilité et suis souvent amené à faire des rapprochements entre deux bases de données.
Pour gérer les correspondances multiples, ma méthode actuelle est de faire une recherchev et à côté un nb.si qui m'indique s'il y a plusieurs correspondances ou non. S'il y en a plusieurs, je vais les chercher manuellement.
 
Je voudrais m'épargner ce travail car lorsqu'on travaille sur des bases avec quelques milliers de lignes, ça prend la journée !
 
J'aimerais donc créer une fonction "RechercheVMultiple" qui me permettrait de faire sortir toutes les correspondances d'un coup !
 
Pour l'instant j'ai réussi à avoir ça :
 
https://dl.dropboxusercontent.com/u/36925448/Sans%20titre.jpg
 
En colonne E il y a la recherche V normale (=RECHERCHEV(D2;A:B;2;0) pour la cellule E2), en colonne F le résultat obtenu avec ma fonction :
 
Function recherchevmultiple(c)
If Application.CountIf([A:A], c.Value) = 0 Then Resultat = "aucune correspondance"
If Application.CountIf([A:A], c.Value) = 1 Then Resultat = Application.VLookup(c.Value, [A1:B10], 2, 0)
If Application.CountIf([A:A], c.Value) > 1 Then Resultat = "plusieurs correspondances"
recherchevmultiple = Resultat
End Function
 
Comme vous pouvez le constater, je ne sais pas comment faire pour que ma fonction ait les mêmes arguments qu'une recherchev normale du coup je suis obligé de les rentrer en VBA. Idéalement, il faudrait que RechercheVMultiple demande le critère, la plage, le numéro de colonne à renvoyer avec toujours une correspondance exacte.
 
Enfin, en colonne G vous trouverez le résultat que je souhaite obtenir avec cette fonction.
 
Pouvez-vous m'aider ? Ce serait merveilleux !
 
Merci d'avance.

Reply

Marsh Posté le 17-04-2014 à 11:06:12   

Reply

Marsh Posté le 17-04-2014 à 12:58:21    

 
           Voir ici
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed