Optimisation recherche valeur dans ligne d'un tableau

Jam

XLDnaute Accro
Bonjour,

J'ai un tableau de 86000 lignes comportant une colonne avec un libellé.
Dans ce libellé j'ai besoin de chercher une occurence qui peut-être multiple -> 15 possibilités à aujourd'hui.
Dans un premier temps j'ai créé 15 colonnes qui testent pour chacune d'entre-elle chaque possibilité. Ca fonctionne mais c'était assez long en terme de traitements.
J'ai donc essayé d'opter pour une fonction VBA. Elle fonction, mais c'est pire en terme de vitesse (je m'y attendais un peu mais pas à ce point).
VB:
'# Pas optimisé...
Function TypeEcriture(sLibellé_Banque As String) As String
Application.Volatile
Dim i As Integer
Dim tbl As ListObject

Set tbl = Worksheets("PARAM").ListObjects("tblValeursCherchées")
For i = 1 To tbl.Range.Rows.Count
  If sLibellé_Banque Like "*" & tbl.DataBodyRange(i) & "*" Then TypeEcriture = tbl.DataBodyRange(i): Exit For
  TypeEcriture = "Rien trouvé..."
Next

End Function
Bref, je cherche un moyen de faire la même chose, formule ou vba mais de façon plus rapide si possible.
 

Jam

XLDnaute Accro
Bon, nickel ! Chapeau bas et merci Jacques.

J'ai juste modifié la macro pour y mettre les déclarations de variables (c'est quand même mieux ;)) et supprimer le 3ème membre dont je n'ai pas besoin en fait.
Petite remarque complémentaire: j'étais parti dans l'idée de faire un tableau, mais ce n'est pas compatible avec les formules matricielles.
 

Discussions similaires

Statistiques des forums

Discussions
312 165
Messages
2 085 882
Membres
103 009
dernier inscrit
dede972