je lis un fichier texte, les donnees ont la forme suivante : a,b,c,d,e,f
j ai sur plusieurs ligne a,b,c,,e, et a,b,c,d,, ou a,b,c sont identiques je cherche a faire a,b,c,d,e, et effacer les 2 autres lignes comment faire ?
j utilise la fonction :
Open "c:\test.txt" For Input As #1
Do While Not (EOF(1))
Input #1, a, b, c, d, e, f '
Loop
j ai donc a,b,c,d,e,f mais je suis bloqué a la comparaison
Désolé mais je n'est absolument rien compris, j'espère que je serai le seul, et que tu pourras trouver de l'aide.
Sinon essaies d'expliquer un peu plus clairement le problème.
ok la question est pas tres claire donc je joins un exemple:
j ai donc un fichier avec des donnees sous la forme suivante:
7622142,21,697,9999,,
1258,25,699,,0,
7622142,21,697,,0,
1254,24,698,10,,
1262,25,700,,0,
1254,24,698,,0,
7704271,21,698,,,5
7704271,23,698,,2,
etc...
Si le numero 7622142 se trouve plusieurs fois dans le fichier je souhaite faire l action suivante
7622142,21,697,9999,,0, et suprimer les 2 anciennes lignes
Si le numero 1254
1254,24,698,10,0,,
Si le numero 7704271
7704271,23,698,,2,5
a la fin j aimerai avoir le fichier suivant
7622142,21,697,9999,,0
1258,25,699,,0,
1254,24,698,10,0,,
7704271,23,698,,2,5
1262,25,700,,0,
etc
le tous sous visual basic merci d avance et pardon si je n ai pas ete tres claire la premiere fois
Salut,
Effectivement c'est déjà beaucoup plus clair.
En revanche le code que tu proposes semble être [forum-VISUAL-BASIC_1.aspx Visual Basic 6], et tu as choisi [forum-VB-NET-VB-2005_40.aspx VB.NET et VB 2005] comme section.
Quelle est donc la version de que tu utilises: [forum-VISUAL-BASIC_1.aspx Visual Basic 6], ou [forum-VB-NET-VB-2005_40.aspx VB.NET et VB 2005]?
7704271,21,698,,,5 7704271,23,698,,2, deviendrait 7704271,23,698,,2,5 car 2 et 5 indiquent des problemes different sur
la meme reference (7704271,23,698)
pour le cas:
1254,24,698,10,1, 1254,24,698,,0, il ne doit jamais arriver car on ne peut avoir qu un probleme a la fois (soit 1 ou 0)
merci encore pour votre aide
"7704271,21,698,,,5 7704271,23,698,,2, deviendrait 7704271,23,698,,2,5 car 2 et 5 indiquent des problemes different sur
la meme reference (7704271,23,698)"
La même référence? Pourquoi 7704271,21,698 deviendrait-il 7704271,23,698? Comment savoir que le 21 doit devenir un 23?
Donc, à part pour ce que je viens de dire, il semblerait qu'il faut vérifier que les 3 premiers nombres soient équivalents, si c'est le cas, on les groupe:
Parcourir chaque ligne du fichier
Vérifier les 3 1er nombres, et ajouter la ligne à la bonne collection (celle qui contient toutes les ligne commençant par la référence en question. Si elle n'existe pas, la créer)
Après, c'est difficile à expliquer....
Pour chaque collection contenant les lignes ayant la même référence:
Parcourir chaque groupe de nombre (séparé par une virgule) de la 1ère ligne :
Si le groupe ne contient pas de nombre (,,), on cherche le nombre dans les autres lignes ayant la même référence