J'ai fait mes propres tests et effectivement sur un échantillon de 60000 lignes de codes alphanumériques, les temps de recherches avec des NB.SI(), EQUIV() et autres sont rédhibitoires sur ma machine vieillissante (elle tourne à 1.2 gHz).
J'ai alors essayé de passer par des fonctions VBA, mais ça ne changeait rien, alors j'ai utilisé une macro lancée à la demande via un bouton. Un rapide calcul sur 1000 boucles de ce premier algo m'a permis d'estimer le temps total nécessaire à environ 20 min (sur ma machine).
Je suis donc passé par une recherche sur des chaînes Soundex et là, je suis tombé à 5 min pile, ce qui est déjà appréciable.
Comme mes codes alphanumériques ont été générés aléatoirement (mais je suppose que sur ta base réelle ils ne doivent être guère différents) j'ai un peu adapté le Soundex, ce qui m'a permis de gagner encore un peu en rapidité.
Evidemment, je suppose qu'un détour par ACCESS ou même une requête SQL doit permettre de traiter ta base bien plus rapidement, mais bon, c'est un exercice, qui peut d'ailleurs être repris tel quel.
Pour que le fichier passe en dessous de 50 ko, j'ai limité l'exemple à 200 lignes, mais il est facile de recréer un échantillon de 60000 lignes en modifiant la constante NbLignes en début de module, puis en appelant la macro 'Echantillon' qui va générer les pseudo-références alphanumériques.
Ensuite il faut regarder dans la barre de status pour avoir les délais d'exécution de la boucle de traitement (qu'on active via le bouton).
Si certains d'entre vous font des tests sur leur machine, ça m'intéresse d'avoir les résultats.
[file name=ChercheparSoundex.zip size=39253]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ChercheparSoundex.zip[/file]
Message édité par: Ti_, à: 20/08/2005 19:03