begin process at 2012 02 15 11:00:18
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

Suppression de lignes dasn *.TXT sans Input et Output


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Suppression de lignes dasn *.TXT sans Input et Output

lundi 15 octobre 2001 à 14:40:11 | Suppression de lignes dasn *.TXT sans Input et Output

Seb

Voici mon problème.

J'ai un fichier texte actuellement de 254.000 lignes mais qui va grossir au fur a mesure de l'année.

Je dois l'importer dans une table Access, pas de problème (voir messages ci dessous dans me forum ;-)

Mais il y a deux lignes au debut qui me plante litteralement mon import de données. Sans ces deux lignes tout va bien mais .. elles sont bien la.

J'ai essaye une technique Input TXT Output TXT mais le probleme c'est le traitement cat TOUT le fichier est Inputé et Outputé après sauf les deux fameuses premieres lignes.

Environ 30 minutes pour 100.000 enregistrements donc cette technique est impensable à choisir !!!

j'ai fouillé dans le forum et à chaque operation de fichier tout le monde conseille cette technique Input Output

Mais pour les TTGF (Tres Tres Gros Fichier) comment on peut faire pour supprimer les deux premieres lignes sans pour autant stocker tout le fichier dans une variable.

Existe il donc un moyen autre que Input Output ???

Pour info, je suis sous Access97 et mon fichier TXT fait plus de 200.000 lignes a ce jour mais va atteindre + 500.000 lignes fin decembre.

Merci davance pour vos reponses,

Seb
lundi 15 octobre 2001 à 15:32:21 | Re : Suppression de lignes dasn *.TXT sans Input et Output

rafano

Et si vous utilisez le macro VBA
doCmd.TransfertText ....
mais il faut mettre
Docmd.SetWarning False
avant l'execution, Il va importer toutes les lignes sauf la où il y a erreur.
A+





-------------------------------
Réponse au message :
-------------------------------

Voici mon problème.

J'ai un fichier texte actuellement de 254.000 lignes mais qui va grossir au fur a mesure de l'année.

Je dois l'importer dans une table Access, pas de problème (voir messages ci dessous dans me forum ;-)

Mais il y a deux lignes au debut qui me plante litteralement mon import de données. Sans ces deux lignes tout va bien mais .. elles sont bien la.

J'ai essaye une technique Input TXT Output TXT mais le probleme c'est le traitement cat TOUT le fichier est Inputé et Outputé après sauf les deux fameuses premieres lignes.

Environ 30 minutes pour 100.000 enregistrements donc cette technique est impensable à choisir !!!

j'ai fouillé dans le forum et à chaque operation de fichier tout le monde conseille cette technique Input Output

Mais pour les TTGF (Tres Tres Gros Fichier) comment on peut faire pour supprimer les deux premieres lignes sans pour autant stocker tout le fichier dans une variable.

Existe il donc un moyen autre que Input Output ???

Pour info, je suis sous Access97 et mon fichier TXT fait plus de 200.000 lignes a ce jour mais va atteindre + 500.000 lignes fin decembre.

Merci davance pour vos reponses,

Seb
lundi 15 octobre 2001 à 16:06:02 | Re : Suppression de lignes dasn *.TXT sans Input et Output

Seb

Tout d'abord merci pour m'avoir repondu :)

Efectivement cela uarait pu etre une alternative mais le probleme n'est pas là mais vient de ces deux lignes.

voici le scheme de mon TXT avec ces deux lignes

bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla

aaaa aaaa aaaa aaaa aaaa aaaa
aaaa aaaa aaaa aaaa aaaa aaaa
aaaa aaaa aaaa aaaa aaaa aaaa
aaaa aaaa aaaa aaaa aaaa aaaa

Bref ces deux lignes ne rentrent pas en compte de la structure tableau de mes donnees et foire le cote "premiere ligne = noms des champs" qui permettrait un import plus rapide.

Il faut vraiment que je supprime ces deux lignes car je ne peux vraiment pas les insérer dans ma base.

Alors si quelqu'un a une soluce car la je suis a nouveaux coince dans mon developpement :(

Merci d avance,

Seb
lundi 15 octobre 2001 à 16:37:47 | Re : Suppression de lignes dasn *.TXT sans Input et Output

rafano

Dans ce cas, j'utiliserai les input et output # pour lire le fichier X et créer un autre sans les 2 lignes. Je kill l'ancien fichier et renomme le nouveau au nom ancien. Et je fait ensuite l'importation. La création du nouveau fichier va ralentir le traitement certainement.
Sinon il faut créer une fonction d'importation. Dans ce cas il ne faut pas utiliser recordset.addnew mais tout de suite créer un requête d'insertion : sSql = "INSERT ..;" et executer par "CurrentDb.Execute sSql"
C'est plus rapide que AddNew.
A+

-------------------------------
Réponse au message :
-------------------------------

Tout d'abord merci pour m'avoir repondu :)

Efectivement cela uarait pu etre une alternative mais le probleme n'est pas là mais vient de ces deux lignes.

voici le scheme de mon TXT avec ces deux lignes

bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla

aaaa aaaa aaaa aaaa aaaa aaaa
aaaa aaaa aaaa aaaa aaaa aaaa
aaaa aaaa aaaa aaaa aaaa aaaa
aaaa aaaa aaaa aaaa aaaa aaaa

Bref ces deux lignes ne rentrent pas en compte de la structure tableau de mes donnees et foire le cote "premiere ligne = noms des champs" qui permettrait un import plus rapide.

Il faut vraiment que je supprime ces deux lignes car je ne peux vraiment pas les insérer dans ma base.

Alors si quelqu'un a une soluce car la je suis a nouveaux coince dans mon developpement :(

Merci d avance,

Seb

lundi 15 octobre 2001 à 23:10:00 | Re : Suppression de lignes dasn *.TXT sans Input et Output

rafano

Une dernière solution sans utiliser output et input c'est de mettre tous les champs de la table de destination en format string et pas de numéric ni de format date. Fixer les longueur des champs, par ex. la date à 10 caractères, etc...
Ensuite, faites votre importation avec TransfertText, c-à-d importer toutes les lignes. Une fois l'importation finie, on delete les 2 premières lignes.
A+



-------------------------------
Réponse au message :
-------------------------------

Dans ce cas, j'utiliserai les input et output # pour lire le fichier X et créer un autre sans les 2 lignes. Je kill l'ancien fichier et renomme le nouveau au nom ancien. Et je fait ensuite l'importation. La création du nouveau fichier va ralentir le traitement certainement.
Sinon il faut créer une fonction d'importation. Dans ce cas il ne faut pas utiliser recordset.addnew mais tout de suite créer un requête d'insertion : sSql = "INSERT ..;" et executer par "CurrentDb.Execute sSql"
C'est plus rapide que AddNew.
A+

-------------------------------
Réponse au message :
-------------------------------

Tout d'abord merci pour m'avoir repondu :)

Efectivement cela uarait pu etre une alternative mais le probleme n'est pas là mais vient de ces deux lignes.

voici le scheme de mon TXT avec ces deux lignes

bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla

aaaa aaaa aaaa aaaa aaaa aaaa
aaaa aaaa aaaa aaaa aaaa aaaa
aaaa aaaa aaaa aaaa aaaa aaaa
aaaa aaaa aaaa aaaa aaaa aaaa

Bref ces deux lignes ne rentrent pas en compte de la structure tableau de mes donnees et foire le cote "premiere ligne = noms des champs" qui permettrait un import plus rapide.

Il faut vraiment que je supprime ces deux lignes car je ne peux vraiment pas les insérer dans ma base.

Alors si quelqu'un a une soluce car la je suis a nouveaux coince dans mon developpement :(

Merci d avance,

Seb


mardi 16 octobre 2001 à 11:52:38 | Finalement j'ai prcedé ainsi ... (+code)

Seb

Finalement j'ai prcedé ainsi.

Vu que les deux premieres lignes du fichier etaient sans importance, j'ai insérer en binaire dans le fichier la ligne des titres avec les Tab et un retour chariot.

Ainsi en premiere ligne je retrouve bien mes titres mais ces lignes parasites sont dans ma table.

Ce n'est cependant pas si grave car je fais ensuite des requetes de selection dessus et ces lignes ne seront donc pas selectionnées :)

Je met mon code ici si ca peut servir a quelqu'un :



Private Sub Commande2_Click()

'////////////////////////////////////////////
'// IMPORTATION FICHIER MARA //
'////////////////////////////////////////////

'declaration des variables
Dim var As String
Dim numfile As Integer

'attribution d'un numero libre de fichier
numfile = FreeFile

'******************************************
'Ecriture de la ligne titre dans le fichier
'******************************************

Open "d:\Seb\Mara.txt" For Binary Access Write As #numfile

var = "" & vbTab & "Article" & vbTab & "" & vbTab & "" & vbTab & "Type d'article" & vbTab & "" & vbTab & "" & vbTab & "" & vbTab & "" & vbTab & "" & vbCrLf

Put #numfile, , var

Close #numfile

'******************************************

'******************************
'Importation du fichier Mara
'******************************

'Desactivation des messages d'erreurs
DoCmd.SetWarnings False

'Importation selon les paramètres d'import
DoCmd.TransferText acImportDelim, "Mara Spécification d'importation", "MARA", "d:\Seb\Mara.txt", True

'******************************

End Sub



Voila, c'est du bidouillage mais pour mon projet ca ne posera pas de problemes surtout que j'ai desactive les messages d'erreurs ;)

Voila, merci encore de vos suggestions et conseils et à très bientôt,

Je lis souvent les messages pour aider les autres ... mais pour l'instant je ne le peux guère. Mais tant que je peux aider, pas de problème.

Longue vie à Vb France,

Seb
samedi 13 novembre 2004 à 20:53:37 | Re : Suppression de lignes dasn *.TXT sans Input et Output

tiborg

Salut Seb,

J'ai le meme genre de problematique que toi alors je suis tombé sur cette page..
Je n'arrive pas a gerer les specifications d'importation sous Acces
J'ai un fichier texte du genre:

user !role
LSTIP !139
RADO !128

Le separateur est "!" mais je n'arrive pas a le prendre en compte dans la fonction : DoCmd.TransferText acImportDelim, "Mara Spécification d'importation", "MARA", "d:\Seb\Mara.txt", True

Comment faire ?
Merci d'avance..

Tibo
samedi 13 novembre 2004 à 20:58:45 | Re : Suppression de lignes dasn *.TXT sans Input et Output

tiborg

J'ai rien dit j'avais oublié les guillemets ! : ))
mardi 11 janvier 2005 à 14:01:42 | Re : Suppression de lignes dasn *.TXT sans Input et Output

Maki93

"DoCmd.TransferText acImportDelim, "Mara Spécification d'importation", "MARA", "d:\Seb\Mara.txt", True"

Salut!

Moi j'aimerais savoir comment créer un fichier de spécification d'importation. Ce qui correspond à "Mara Spécification d'importation" c'est quoi exactement et comment je le crée?? J'ai beau avoir parcouru le forum la seule solution que j'ai c'est de transformer mes tabulations en ";" ou "!" ou autre seulement le fichier que je dois importer est envoyé par un prestataire et je ne pense pas qu'ils aient que ça à faire de me transformer les Tab en ";"...
Alors?? Une petite solution? Une explication sur les fichiers de spécification?

Merci d'avance




Cette discussion est classée dans : fichier, input, lignes, txt, output


Répondre à ce message

Sujets en rapport avec ce message

Lire les premieres lignes d'un fichier sans avoir à le charger entièrement? [ par ths ] Bonjour,Je dois traiter des informations sur environs 2000 fichiers et chaque fichier pese environ 1000 lignesActuellement je charge le fichier entier renommer un fichier en fonction de son nombre de lignes [ par sabyann ] Bonjour,J'ai plusieurs fichiers nommés par exemple toto.txt, tata.txt, titi.txt...Par exemple si toto contient 5 lignes, je voudrai que le nombre de l Lire un fichier txt et l'afficher complet dans un Label [ par Dane6 ] Bonjour, Pouvez-vous me dire comment lire un fichier Txt dans sa totalité et le stocker dans une variable pour l'afficher dans le Label.Quand j'utilis Output, input txt [ par rsx602 ] Bon voila! je fais un petit programme et je veux que quand la form load qui vérifie si la première ligne du TXT = Default , si c'est défaut, Alor msgb Parcourir fichier texte (.TXT) en VBA [ par sancho12345 ] [color=red][/color]Bonjour, Je sollicite ENCORE votre aide !!! J’aimerai copier toutes les lignes d’un fichier texte (.TXT) qui commencent par « M trier un fichier txt [ par pcpunch ] sltg un fichier txt ou g entrer des donnees avec write, les lignes du fichier txt se presentes comme cela :"titre","resumer","qualite","type","chemin saut de ligne sur la , dans un input [ par phenojeff ] Dans mon fichier txt il y a des , et ca fait des saut de lignecomment ne pas faire de saut de ligne sur la ,exe:fichier txt=#DEFINE LED1 PORTA,0 ca Récupérer X lignes d'un fichier Txt [ par Patrik ] Bonjour,Je souhaite récupérer les 73 premières lignes de mon fichier Txt (il en compte 75).Comment puis je procéder.Merci à tous ceux et celles qui po fichier txt et longueur des lignes [ par titoune99 ] Bonjour,J'ai un fichier txt composé théoriquement de lignes de 400 caractères, je cherche à lire ce fichier et à générer deux fichiers l'un avec les l Importer un fichier Txt dans un autre fichier Txt avec modification [ par gregnantes ] Bonjour,Je suis débutant en macro excel.Je dispose d'un fichier texte comprenant 20 000 lignes avec des lignes se répétant (ayant le même identifiant)


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,794 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales