lisco
Messages postés54Date d'inscriptionlundi 14 juillet 2008StatutMembreDernière intervention28 septembre 2008
-
27 juil. 2008 à 10:17
lisco
Messages postés54Date d'inscriptionlundi 14 juillet 2008StatutMembreDernière intervention28 septembre 2008
-
17 août 2008 à 13:25
Bonjour,
J'ai un fichier excel qui fait 50 000 lignes et j'ai fait une boucle qui me compare toutes les lignes de mon fichier pour copier et coller les doublons dans un autre fichier.C'est à dire je prends la premiere ligne et je la compare avec toutes les autres lignes de mon fichier et à chaque fois que ma boucle rencontre une ligne qui a le meme nom que la premiere elle la copie et la colle dans un autre fichier. Ensuit eje prends la deuxiéme ligne que je compare par le reste des lignes du fichier c'est à dire par 50 000 - 1 et ainsi de suite jusq'à la fin de mon fichier ;mon probleme est que si la premiere ligne et la deuxieme ligne sont les meme là j'ai fais deux fois la meme comparaison et je voudrais que ma boucle saute les lignes qui ont été deja copie dans le deuxieme fichier. C'est a dire si je compare la premiere ligne avec le reste de mon fichier et je recopie les doublons dans mon deuxieme fichier ,je voudrais que si je prends la deuxieme ligne pour la comparer avec le reste du fichier :si cette ligne a le meme titre que la premiere que ma boucle saute cette ligne et va au troisieme et ainsi de suite . Une boucle du genre:
for i = 2 To 50 000
compare ligne (2) à toutes les autres lignes de 3 à la fin
et si ligne (2) = ligne (3 à 50 000) tu recopie et tu mets dans un autre fichier.
Mon probleme c'est par la suite
compare ligne(3) à toutes les autres ligne de 4 à la fin
et la je voudrais si ligne(3) = ligne(2): que ma boucle saut cette ligne car deja recopier sinon je fais 2 fois la meme comparaison??
Help please!!!
Merci d'avance
gillardg
Messages postés3275Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 septembre 20142 27 juil. 2008 à 10:23
ajoute un tableau() as integer ou tu stocke les numéros de lignes qui sont des doublons
et une condition si ligne est dans tableau() alors ligne suivante
Il n'y a que les gens qui ne font rien, qui ne font pas d'erreur
lisco
Messages postés54Date d'inscriptionlundi 14 juillet 2008StatutMembreDernière intervention28 septembre 2008 27 juil. 2008 à 10:32
Merçi c'est une idée mais je ne connais pas les lignes qui sont en doublons c'est pourquoi je les recherche ne boucle;lol
En fait mon fichier fait plus de 50 000 lignes et si je dois trier ces lignes manuellement pour recopier les doublons dans un tableau , cest chaud!!!
cs_ghuysmans99
Messages postés3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 27 juil. 2008 à 10:42
Pour rechercher ces doublons, tu peux trier sur une colonne ...
Suffit de cliquer sur la tête de colonne
_______________________________________________________________________
VB.NETis good ...VB6is better
gillardg
Messages postés3275Date d'inscriptionjeudi 3 avril 2008StatutMembreDernière intervention14 septembre 20142 27 juil. 2008 à 11:02
quand ta boucle trouves un doublon tu fais ton traitement ET tu stocke le numéro de ligne dans le tableau() à ce moment la tu connais le numéro de ligne , je crois
Il n'y a que les gens qui ne font rien, qui ne font pas d'erreur
/B>
Vous n’avez pas trouvé la réponse que vous recherchez ?
us_30
Messages postés2065Date d'inscriptionlundi 11 avril 2005StatutMembreDernière intervention14 mars 201610 27 juil. 2008 à 13:28
Bonjour,
Plus simplement, si le tableau initiale peut être modifié... dans le cas contraire en faire une copie, ensuite :
1er solution évoqué par ghuysmans99
- Faire un pré-traitement avant d'appliquer ton algo, pour supprimer d'avance les doublons :
1/ Faire un tri par ordre sur la colonne
2/ Faire une boucle qui regarde si uniquement la ligne suivante est identique à la précédente
2a / Si oui la supprimer en remontant les autres, et poursuivre...
2b/ Si non poursuivre avec la ligne suivante
2ième solution :
- Supprimer la ligne doublon repérée (directement)
- Mettre une condition qui saute à la ligne suivante, dans ton algo, dans le cas où la ligne est vide...
Cette solution, est similaire à ce que propose Guillarg, mais en plus direct.
Ma préférence serait la 1er solution, car elle présente l'avantage de réduire le temps de traitement, surtout s'il y a nécessairement beaucoup de doublon...
lisco
Messages postés54Date d'inscriptionlundi 14 juillet 2008StatutMembreDernière intervention28 septembre 2008 27 juil. 2008 à 13:46
Merci de ta contibution,tout ça c'est clair et encore merçi ,mais si je pouvais avoir quelque exemple techniques ça serait cool et mieux saisi car je suis debutant
Encore merci