Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

concatener 2 fichiers texte

17 réponses
Avatar
Chris
Bonjour
j'ai cherché un peu sur google comment concatener 2 (ou plus) de fichiers
texte, mais les seules options sont de concatener de manière brute les
fichiers.
Ce que j'aimerais faire c'est une routine via access (vu que le résultat de
la concaténation va servir à importer des données dans ma base), qui
permettre d'importer un certain nombre (détéction automatique) de fichiers
texte en supprimant les entetes et fin de fichier et ne garder que le corps
du texte
je m'explique, mes fichiers sont formattés comme suit
Entête jusqu'à un mot clé : 'texte'
corps du texte entre 'texte" et "Fin" (les données dans le corps du texte
sont des champs séparés par des ":" en incluant le nom des champs)
fin de fichier après "fin"
et une possibilité de mettre entre "texte" et "fin" une ligne donnant le
nombre de fichier (du style "1/4" "2/4"....)
voilà si quelqu'un est familier de ce genre de routine, je suis preneur
Merci beaucoup et de bonne fêtes à tous, et encore merci pour toute l'aide
que vous nous apportez
chris

10 réponses

1 2
Avatar
3stone
Salut,

"Chris"
| j'ai cherché un peu sur google comment concatener 2 (ou plus) de fichiers
| texte, mais les seules options sont de concatener de manière brute les
| fichiers.
| Ce que j'aimerais faire c'est une routine via access (vu que le résultat de
| la concaténation va servir à importer des données dans ma base), qui
| permettre d'importer un certain nombre (détéction automatique) de fichiers
| texte en supprimant les entetes et fin de fichier et ne garder que le corps
| du texte
| je m'explique, mes fichiers sont formattés comme suit
| Entête jusqu'à un mot clé : 'texte'
| corps du texte entre 'texte" et "Fin" (les données dans le corps du texte
| sont des champs séparés par des ":" en incluant le nom des champs)
| fin de fichier après "fin"
| et une possibilité de mettre entre "texte" et "fin" une ligne donnant le
| nombre de fichier (du style "1/4" "2/4"....)
| voilà si quelqu'un est familier de ce genre de routine, je suis preneur
| Merci beaucoup et de bonne fêtes à tous, et encore merci pour toute l'aide
| que vous nous apportez
| chris


La base pour importer un fichier texte est ici :
http://www.3stone.be/access/articles.php?lng=fr&pg5

le reste n'est plus que du traitement ligne par ligne...
voir ce que "txtLine" contient et agir en conséquence!

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
chris
Bonsoir
J'ai bien lu, mais j'ai beaucoup de mal
- En fait, la première étape consiste à lire le fichier texte,
- récupérer le nombre de fichiers après la séquence :
TEXTE
1/4 (donc 4 fichiers, nommés texte1.txt à texte4.txt
- Supprimer tout avant le nom du premier champ
- Supprimer Tout avant "FIN" (compris dedans)
- enregistrer le fichier avec le même nom

Pour le reste je crois que j'ai trouvé
Merci



"3stone" a écrit dans le message de news:

Salut,

"Chris"
| j'ai cherché un peu sur google comment concatener 2 (ou plus) de
fichiers
| texte, mais les seules options sont de concatener de manière brute les
| fichiers.
| Ce que j'aimerais faire c'est une routine via access (vu que le résultat
de
| la concaténation va servir à importer des données dans ma base), qui
| permettre d'importer un certain nombre (détéction automatique) de
fichiers
| texte en supprimant les entetes et fin de fichier et ne garder que le
corps
| du texte
| je m'explique, mes fichiers sont formattés comme suit
| Entête jusqu'à un mot clé : 'texte'
| corps du texte entre 'texte" et "Fin" (les données dans le corps du
texte
| sont des champs séparés par des ":" en incluant le nom des champs)
| fin de fichier après "fin"
| et une possibilité de mettre entre "texte" et "fin" une ligne donnant le
| nombre de fichier (du style "1/4" "2/4"....)
| voilà si quelqu'un est familier de ce genre de routine, je suis preneur
| Merci beaucoup et de bonne fêtes à tous, et encore merci pour toute
l'aide
| que vous nous apportez
| chris


La base pour importer un fichier texte est ici :
http://www.3stone.be/access/articles.php?lng=fr&pg5

le reste n'est plus que du traitement ligne par ligne...
voir ce que "txtLine" contient et agir en conséquence!

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/



Avatar
3stone
Salut,

"chris"
| J'ai bien lu, mais j'ai beaucoup de mal
| - En fait, la première étape consiste à lire le fichier texte,
| - récupérer le nombre de fichiers après la séquence :
| TEXTE
| 1/4 (donc 4 fichiers, nommés texte1.txt à texte4.txt
| - Supprimer tout avant le nom du premier champ
| - Supprimer Tout avant "FIN" (compris dedans)
| - enregistrer le fichier avec le même nom


Pas vraiment...

Le fichier se lit ligne par ligne et après chaque Line Input #F,
tu récupère le contenu de la ligne dans txtLine.

C'est la variable txtLine que tu dois scruter, avec Instr()
par exemple pour 'voir' ce qu'il y a dedans...

Il te reste à agir selon ce que tu trouve ;-)

Si tu ne réussi pas, colle quelques examples de fichiers sur ci-joint
http://cjoint.com/index.php et transmets le lien.

Le premier qui a le temps t'écrira cela ;-))

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Chris
Merci beaucoup 3stone
voici un exemple de fichier
chaque fichier contient 1 seule ligne (mais en pratique il y en aurait
environ au moins une centaine)
et à la fin de la concatenation, je souhaite obtenir le fichier
listeconcatenee.txt
pour l'importer dans ma table Access
voici un fichier zip avec 3 exemples
http://cjoint.com/?cgpQeukhoZ
Merci à tous de votre aide ô combien précieuse


"3stone" a écrit dans le message de news:

Salut,

"chris"
| J'ai bien lu, mais j'ai beaucoup de mal
| - En fait, la première étape consiste à lire le fichier texte,
| - récupérer le nombre de fichiers après la séquence :
| TEXTE
| 1/4 (donc 4 fichiers, nommés texte1.txt à texte4.txt
| - Supprimer tout avant le nom du premier champ
| - Supprimer Tout avant "FIN" (compris dedans)
| - enregistrer le fichier avec le même nom


Pas vraiment...

Le fichier se lit ligne par ligne et après chaque Line Input #F,
tu récupère le contenu de la ligne dans txtLine.

C'est la variable txtLine que tu dois scruter, avec Instr()
par exemple pour 'voir' ce qu'il y a dedans...

Il te reste à agir selon ce que tu trouve ;-)

Si tu ne réussi pas, colle quelques examples de fichiers sur ci-joint
http://cjoint.com/index.php et transmets le lien.

Le premier qui a le temps t'écrira cela ;-))

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/




Avatar
3stone
Salut,

"Chris"
| voici un exemple de fichier
| chaque fichier contient 1 seule ligne (mais en pratique il y en aurait
| environ au moins une centaine)
| et à la fin de la concatenation, je souhaite obtenir le fichier
| listeconcatenee.txt
| pour l'importer dans ma table Access
| voici un fichier zip avec 3 exemples
| http://cjoint.com/?cgpQeukhoZ

Je dois m'absenter... je regarde cela asap.


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
3stone
re,

"Chris"
| voici un exemple de fichier
| chaque fichier contient 1 seule ligne (mais en pratique il y en aurait
| environ au moins une centaine)
| et à la fin de la concatenation, je souhaite obtenir le fichier
| listeconcatenee.txt
|


Voilà un module qu'il te suffit d'importer dans ta base.
http://cjoint.com/?chaRthRWdj
Je l'ai suffisement détaillé et commenté pour que tu puisse comprendre.


Tu appelles la fonction par :

FileConcat

ou bien en spécifiant le nom du nouveau fichier (avec ou sans l'extention 'txt')

FileConcat "Nom du fichier"

Il te suffira alors de sélectionner tous les fichiers qu'il convient de concatèner.


|
| pour l'importer dans ma table Access
|

On aurait aussi bien put créer directement la table, mais bon... ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
Chris
Je regarde ça et je te tiens au courant
Merci beaucoup
Chris
"3stone" a écrit dans le message de news:

re,

"Chris"
| voici un exemple de fichier
| chaque fichier contient 1 seule ligne (mais en pratique il y en aurait
| environ au moins une centaine)
| et à la fin de la concatenation, je souhaite obtenir le fichier
| listeconcatenee.txt
|


Voilà un module qu'il te suffit d'importer dans ta base.
http://cjoint.com/?chaRthRWdj
Je l'ai suffisement détaillé et commenté pour que tu puisse comprendre.


Tu appelles la fonction par :

FileConcat

ou bien en spécifiant le nom du nouveau fichier (avec ou sans l'extention
'txt')

FileConcat "Nom du fichier"

Il te suffira alors de sélectionner tous les fichiers qu'il convient de
concatèner.


|
| pour l'importer dans ma table Access
|

On aurait aussi bien put créer directement la table, mais bon... ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/




Avatar
chris
Je viens de tester, c'est excellent,
Dernier petit soucis, la version d'access, que j'utilise sur les différents
postes, tourne sous access 2000, et apparement il
ce module est pour access 2002 ('Nécessite la référence microsoft office x.x
object library
'utilisable à partir de Office Xp (2002))
ça fonctionne nickel avec access Xp
y-a-til un moyen pour le faire tourner sur access 2000?

Je sais je suis chi..t, mais je fais avec les outils que j'ai.
Merci encore




"Chris" a écrit dans le message de news:

Je regarde ça et je te tiens au courant
Merci beaucoup
Chris
"3stone" a écrit dans le message de news:

re,

"Chris"
| voici un exemple de fichier
| chaque fichier contient 1 seule ligne (mais en pratique il y en aurait
| environ au moins une centaine)
| et à la fin de la concatenation, je souhaite obtenir le fichier
| listeconcatenee.txt
|


Voilà un module qu'il te suffit d'importer dans ta base.
http://cjoint.com/?chaRthRWdj
Je l'ai suffisement détaillé et commenté pour que tu puisse comprendre.


Tu appelles la fonction par :

FileConcat

ou bien en spécifiant le nom du nouveau fichier (avec ou sans l'extention
'txt')

FileConcat "Nom du fichier"

Il te suffira alors de sélectionner tous les fichiers qu'il convient de
concatèner.


|
| pour l'importer dans ma table Access
|

On aurait aussi bien put créer directement la table, mais bon... ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/








Avatar
3stone
Salut,

"chris"
| Je viens de tester, c'est excellent,
| Dernier petit soucis, la version d'access, que j'utilise sur les différents
| postes, tourne sous access 2000, et apparement il
| ce module est pour access 2002 ('Nécessite la référence microsoft office x.x
| object library
| 'utilisable à partir de Office Xp (2002))
| ça fonctionne nickel avec access Xp
| y-a-til un moyen pour le faire tourner sur access 2000?


Remplace dans ce cas la fonction fOpenFiles() par celle-ci
http://www.3stone.be/access/articles.php?lng=fr&pg0
qui à l'avantage de tourner même sous Acces 97 et Win98.

PS: Tu dois corriger l'appel à la fonction !

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
chris
Si je comprends bien,
je dois copier/coller tout le code de la page
et remplacer "fOpenFiles()" par
"OpenFileName"
c'est ça?


"3stone" a écrit dans le message de news:

Salut,

"chris"
| Je viens de tester, c'est excellent,
| Dernier petit soucis, la version d'access, que j'utilise sur les
différents
| postes, tourne sous access 2000, et apparement il
| ce module est pour access 2002 ('Nécessite la référence microsoft office
x.x
| object library
| 'utilisable à partir de Office Xp (2002))
| ça fonctionne nickel avec access Xp
| y-a-til un moyen pour le faire tourner sur access 2000?


Remplace dans ce cas la fonction fOpenFiles() par celle-ci
http://www.3stone.be/access/articles.php?lng=fr&pg0
qui à l'avantage de tourner même sous Acces 97 et Win98.

PS: Tu dois corriger l'appel à la fonction !

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/




1 2