draluorg
Messages postés625Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention25 novembre 2010
-
16 mars 2006 à 01:08
draluorg
Messages postés625Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention25 novembre 2010
-
16 mars 2006 à 15:22
Salut a tous,
Voila je dois faire un soft pour trier des doublons dans des fichiers d'adresses, qui peuvent contenir jusk'a 300000 adress.
la pourle moment je charge les fichiers dans un tableau et puis de la je fais une boucle du genre:
For i = 0 To UBound(AddresListA)
For i2 = 0 To UBound(AddresListB)
If StrComp(AddresListA(i), AddresListB(i2)) = 0 Then GoTo nxt
Next i2
clementio
Messages postés432Date d'inscriptionsamedi 18 mai 2002StatutMembreDernière intervention17 février 20141 16 mars 2006 à 07:38
Salut,
Utilise un objet Dictionnary, pour ça rajoute la référence Microsoft Scripting Runtime à ton projet. Un Dictionnary à une methode qui s'appelle "exist". Tu peux faire une boucle qui remplit ton Dictionnary et avant d'ajouter un élément dedans, tu testes si il existe.
Dis-moi si tu veux un exemple mais je ne rentre que ce soir vers 19h.
PhilocheMan
Messages postés55Date d'inscriptionjeudi 28 juillet 2005StatutMembreDernière intervention23 mars 20061 16 mars 2006 à 12:07
Salut,
Une autre solution consiste à créer une table temporaire et de la remplir des valeurs issues d'une requete Selection de ce type :
SELECT * FROM Matable WHERE Adresse IN (SELECT Adresse FROM MaTable as tmp_Adresse GROUP BY Adresse HAVING COUNT(*) > 1)
Bon courage.
TrafMaxime
Messages postés288Date d'inscriptionmercredi 4 mai 2005StatutMembreDernière intervention26 janvier 20121 16 mars 2006 à 12:25
Sinons ordonne tes données dès leur récupération... en fonction de la valeur qui doit être unique
ainsi tous les doublons seront les uns après les autres et tu n'as qu'à les tester 2 à 2...
draluorg
Messages postés625Date d'inscriptionvendredi 23 avril 2004StatutMembreDernière intervention25 novembre 2010 16 mars 2006 à 15:22
Salut a tous,
Merci beaucoup pour vos reponses :)
Clementio> J'ai essaye avec le composant que tu m'a indique, et c'est incoyable la vitesse a la quelle il fait ca!
c'est instantane la j'ai essaye avec 100 000 adress et ca a pris moins de 2 secondes!
Et dire qu'en 3 jours j'etais descendu de 120 a 60 secondes lol
(P4 a 3.8 Ghz,ddr2 667 !)
PhiloCheman> ta methode m'interesse aussi, pourrais tu developper un peu plus stp ?
TrafMaxime> eh wai c'est une sollution, mais je ne pense pas que ca puisse aller plus vite que la boucle que je faisais...
Encore merci a tous :)
++
Quand on pose une question on est con 5 minutes,
Quand on ne la pose pas on le reste toute sa vie...