Boucle en vb6

lisco Messages postés 54 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 28 septembre 2008 - 27 juil. 2008 à 10:17
lisco Messages postés 54 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 28 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

11 réponses

gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
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

/B>
0
lisco Messages postés 54 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 28 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!!!
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
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
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
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>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lisco Messages postés 54 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 28 septembre 2008
27 juil. 2008 à 11:11
ok, là j'ai bien compris, donc je dois declarer un tableau as integer, mais comment stocker des valeurs ds un tableau ?c compliké pour moi
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
27 juil. 2008 à 11:14
cherche array dan l'aide de vb !

Il n'y a que les gens qui ne font rien, qui ne font pas d'erreur

/B>
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
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... 

Amicalement,
Us.
0
gillardg Messages postés 3275 Date d'inscription jeudi 3 avril 2008 Statut Membre Dernière intervention 14 septembre 2014 2
27 juil. 2008 à 13:45
Guillarg ?? c'est un nouveau??








Il y a (4.5 \ 1.5) sortes de gens, ceux qui comprennent le vb et les autres ,je fais partie des autres/FONT>
0
lisco Messages postés 54 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 28 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
0
us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
27 juil. 2008 à 13:55
Oupsss... Gillardg, donc...

Pour le code, il faudrait donner la partie du code correspondant... (en espérant qu'il soit assez bien construit, sinon c'est galère...)

Amicalement,
Us.
0
lisco Messages postés 54 Date d'inscription lundi 14 juillet 2008 Statut Membre Dernière intervention 28 septembre 2008
17 août 2008 à 13:25
Merci à toutes vos conseils ça m'a fachement servi, car j'ai reussi à trouver mes doublons comme je le voulais
0
Rejoignez-nous