scortek
Messages postés61Date d'inscriptionmardi 4 mai 2004StatutMembreDernière intervention 1 août 2007
-
10 mai 2007 à 13:55
cs_Carolia
Messages postés2Date d'inscriptionvendredi 17 avril 2009StatutMembreDernière intervention 5 mai 2009
-
17 avril 2009 à 08:45
C'est un fichier texte (séparé par des , afin de s'ouvrir avec excel) :
J'ai besoin d'automatiser le trie de ce que contient ce fichier, ligne par ligne, sans passer par excel (car beaucoup de fichiers à traiter).
Ils se présentent de cette manière :
Chaque ligne est différente, mais comment retrouver deux fois ou presque la même ligne.
Par exemple, ici si text6 est pareil que text3, j'aimerais que la ligne 3 qui contient une date plus récente remplace la ligne 2.
Comment remplacer comparer des lignes et remplacer la ligne en "double" sans écraser le fichier, en utilisant FSO ou autre ?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 10 mai 2007 à 14:03
il te faudra de toute façon écraser le contenu du fichier par le nouveau contenu.
Au lieu d'utiliser FSO qui te servira pas à grand chose dans ton cas, utilise les bonnes vieilles fonctions de VB :
Dir, Open, Line Input, Close, For, If, Split, etc.
L'algorithme n'est pas très compliqué : récupèrer toutes les lignes d'un fichier texte dans un tableau de String, puis comparer les lignes de ce tableau deux à deux pour vérifier les doublons, si doublon il y a, faire ce que tu veux avec l'une des deux lignes (en supprimant une ligne si nécessaire dans ton tableau de String), et une fois toutes tes lignes traîtées, enregistrer le tout dans le fichier d'origine en écrasant ce qu'il y avait déjà écrit.
Et faire ceci sur tout les fichiers à traîter bien évidement.
Voilà pour l'algo, après, pour l'implémentation, c'est à toi de te documenter sur les fonctions que je t'ai donné, elles devrait suffire à faire ce que tu cherche à faire, et revient poser des questions si tu bloque sur un truc.