Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1815 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Manipulation de fichier *.txt

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Manipulation de fichier *.txt

n°737267
zeustp2001
Posté le 25-05-2004 à 10:13:36  profilanswer
 


Ce que je veux c'est modifier un fichier text avant de l'importer
en supprimant la premiére et la derniére ligne puis le renommer cela à partir d'un module VB.
 
  Comme le travail se fait tout les jours sur 200 tables une fonction qui me permettrais d'autpmatiser ces operation sera d'un grand secour.
 

mood
Publicité
Posté le 25-05-2004 à 10:13:36  profilanswer
 

n°737345
Carbon_14
Posté le 25-05-2004 à 10:54:11  profilanswer
 

iNumLig% = 0
ouvrir fichier à lire en lecture
ouvrir fichier destination en écriture
lire ligne (line input en VB pour lire la ligne entière)
iNumLig% = iNumLig% + 1
tant que fichier lu pas fini
  if (iNumLig% <> 1) then écrit ligne dans fichier destination
  lire ligne
  iNumLig% = iNumLig% + 1
fin de tant que  
on ferme les tampons entrée et sortie
 
Sauf erreur, on n'écrira pas la dernière.
 
Pour le code, voir topic voisin où qq ouvre un fichier pour récupérer valeurs et quantités code barre.
 
Si on veut automatiser, on peut, sous VisualBasic (mais ça peut aussi s'écrire sous QuickBasic DOS si les noms de fichiers n'ont pas plus que 8.3 caractères) récupérer l'argument de la ligne de commande dans une variable Command$
Si l'on lance  
MonProg toto.log
dans MonProg, la variable Command$ contiendra "toto.log". On peut alors prévoir que le fichier de sortie soit toto.xyz, ou autre...
 
Avec la commande DOS, for %f in (*.log) do MonProg %f, ça devrait traiter tous les fichiers .log du répertoire où on le lance et générer les fichiers voulus.
 
EDIT : http://forum.hardware.fr/hardwaref [...] 1948-1.htm


Message édité par Carbon_14 le 25-05-2004 à 10:55:59
n°737453
zeustp2001
Posté le 25-05-2004 à 11:57:05  profilanswer
 

Merci beaucoup pour le tuyeau
 
ca marbien le truc c'est que vba m'ecrit la ligne dans le fichier destination entre ""
y a t'il un moyen de ne pas les avoir dans le fichier destination

n°737498
Carbon_14
Posté le 25-05-2004 à 12:18:09  profilanswer
 

Je vois pas pourquoi (manque de pratique) mais il faut déjà déclarer la variable dans laquelle est stockée la ligne courante en tant que chaîne.
 
Line input #tampon1, Ligne$ en entrée
print #tampon2, Ligne$ en sortie ?
 
Quand on écrit une chaîne, elle devrait être intacte...

n°737511
zeustp2001
Posté le 25-05-2004 à 12:31:36  profilanswer
 


Merci beaucoup ça marche il fallais utiliser print plutot que write.
 
Si possible une autre question  
 
Pour importer ces fichier dans une base de données access j'utilise une procedure 'Import_data'  dans d'un module 'Import' que j'ai créer dans ma base de donnée 'Ma_base'
 
Elle importe les donnée dont j'ai besoin si je l'exécute à partir d'access mais j'arrive pas à la lancer à partir d'excel.
 
  Connaiterais tu un truc pour la lancer d'excel.
 
  Remarque: dans cette fonction j'utilise des librairie propre à access et l'option 'compare database' du coup je peut pas l'enregisterer en tant que macro excel: Le debuger ne l'aime pas :)

n°737516
Carbon_14
Posté le 25-05-2004 à 12:35:34  profilanswer
 

Suispas calé du tout en Office. J'ai acheté un portable avec Office full mais pas encore eu temps expérimenter (pas le temps au labo).
 
Faudrait peut-être faire un autre topic 'lancer macro ACCESS depuis EXCEL' à moins que qq passe par là.

n°737620
zeustp2001
Posté le 25-05-2004 à 13:42:52  profilanswer
 

Merci je vais le faire, ton aide m'a été précieuse .
 
Un dernier truc à propos des fichier text lors de l'importation lorsque j'appele  
 
'Open fichier_source For Input As #1'
y a t'il un moyen pour qu'à partir d'une partie du nom du fichier le trouver
 
En faite le nom de mes fichier source est comstruit de la façon suivante : prefixe+nbre_de lignes.txt
 
donc determiner le nom du fichier à partir du prefixe m'eviterais de rentrer manuellement le nom tout les jours

n°737640
zeustp2001
Posté le 25-05-2004 à 13:54:12  profilanswer
 

En faite c'est bon je viens de découvrir la fonction 'dir'
Merci comme même


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Manipulation de fichier *.txt

 

Sujets relatifs
lire / ecrire dans un fichier [resolu]chercher une chaine de caractere dans un fichier texte
stockage des données dans un fichier XML en C++Générer un fichier xml à partir d'un xsd via php ?
contenu réel d'un fichier texte ou exe [debutant]Problème écriture dans fichier texte
inserer automatiquement des donnes contenues dans un fichier[Gtk] reperer unn fichier ou un dossier dans un repertoire
ecrire un tableau dans un fichier[Java] Récupérer un fichier sur un site et l'enregistrer localement ?
Plus de sujets relatifs à : Manipulation de fichier *.txt


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR