Bonjour,

Depuis un certain temps, j'utilise cette fonction pour simuler une RECHERCHEV par macro :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
Function FindLine(VarATrouver As String, LettreColonne As String, NomFeuille As String, ColonneARenvoyer As Long) As String
'rechercheV qui renvoie le numéro de la ligne de la variable à trouver dans une feuille et une colonne définie
Dim c As Object
Dim therow As Long
Set c = Sheets(NomFeuille).Range(LettreColonne & ":" & LettreColonne).Find(VarATrouver)
FindLine = Sheets(NomFeuille).Cells(c.Row, ColonneARenvoyer).Value
'MsgBox FindLine
End Function
Je reviens vers vous car je viens de rencontrer une limite à celle-ci : lorsque, dans la colonne voulue, j'ai des valeurs avec des noms un peu pareils, par exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
tot
tota1
tota2
tito3
Si je lance ma fonction, avec pour morceaux cherché "tot", il va me retourner le 2e argument, alors que je voudrais qu'il me prenne le terme exact dans ma recherche

J'ai essayé de modifier le Find en ajoutant cet argument :

mais le résultat est identique

Pour retracer un peu l'historique, au départ, j'avais créé ma fonction avec une boucle For toute bête, qui listait tout ce qu'il y avait dans ma feuille,e t dès qu'il trouvait il sortait de la boucle.
Suite à plusieurs conseils que j'ai eu ici, j'ai donc utilisé cette méthode du Find, qui était beaucoup plus rapide qu'une boucle For qui parcourt mes données. Mais à l'époque ce problème ne pouvait pas se produire

Avez-vous une idée de comment je pourrais améliorer ma fonction pour que cela fasse une recherche exacte sur le terme ?

Bien évidemment, et comme vous pourrez le remarquer, je voudrais éviter d'utiliser la fonction RECHERCHEV dans ma code, en passant par le WorksheetFunction classique.

Une idée ?