Bonne après-midi à chacun,
Pour un programme qui travaille sur des textes, j’ai besoin d’utiliser un dictionnaire de plus de 20000 mots ainsi constitué : en colonne A, il y a la liste classée des mots et en colonne B, se trouve leurs définitions.
Pour interroger le dictionnaire j’ai besoin d’une fonction qui, si on lui donne un mot, réponde le numéro de ligne.
Voici la fonction élémentaire que j’ai faite :
Cette fonction est fonctionne très bien, mais elle est très lente et elle ralentit beaucoup le programme. J’ai aussi essayé de faire une fonction avec Find, mais elle n’a pas fonctionné parce qu’elle s’arrête sur les portions de mots. Par exemple si je cherche le mot « ton », elle s’arrête sur « bâton ».
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Function NuméroLigne(Mot) As Long Dim i As Long, lD As Long, lF As Long lD = 2 lF = Range("A65536").End(xlUp).Row For i = lD To lF If Cells(i, 1).Formula = Mot Then GoTo Trouvé Next NuméroLigne = 0 Exit Function Trouvé: NuméroLigne = i End Function
Voici donc ma question (qui doit être très classique, car je ne suis pas le premier à chercher un mot dans un dictionnaire) :
« Est-ce qu’il existe une fonction qui renvoie le numéro de la ligne d’un mot donné se trouvant dans une colonne classée de mots ? »
Merci par avance.
RéviAT
Partager