Boucle d'export en txt ligne 1+2, 1+3, 1+4 etc...

olivierd

XLDnaute Junior
bonjour à tous,

J'ai une manip ligne par ligne à réaliser pour un fichier de 100 lignes :sick: et je fais appel à votre connaissance pour savoir s'il est possible:

- à partir d'un fichier de base de données en lignes
( nom, prénom, adresse etc.. )

- de créer un fichier texte avec séparateur contenant l'entête ( ligne 1 ) et le premier enregistrement (ligne 2 )

- puis ligne 1+3, ligne 1+4... avec à chaque fois une fichier différent contenant l'entête et les données d'une seule personne

( ca serait super, sinon, je dois le faire manuellement ligne par ligne et j'en ai pour deux jours :)

J'ai fait un petit exemple dans le dossier en annexe...
Si l'un de vous à une solution et envie d'y jeter un oeil
Merci d'avance

Très cordialement [file name=dossier_20060428081418.zip size=6441]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/dossier_20060428081418.zip[/file]
 

Pièces jointes

  • dossier_20060428081418.zip
    6.3 KB · Affichages: 18

soft

XLDnaute Occasionnel
Bonjour olivierd, le forum,
Ci-joint ton fichier avec macros pour l'enregistrement des fichiers. [file name=base_20060428101621.zip size=10538]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/base_20060428101621.zip[/file]
 

Pièces jointes

  • base_20060428101621.zip
    10.3 KB · Affichages: 17

olivierd

XLDnaute Junior
re-bonjour à tous,
bonjour soft et merci beaucoup (c'est génial)

Pour essayer d'intégrer ta macro dans mon fichier de base réel qui contient une trentaine de colonnes,
Pourrait-tu encore avoir la gentillesse de m'expliquer comment re-définir la longueur de l'entête et de chaque fin de ligne(s) dans ton code ?


Amicalement
 

soft

XLDnaute Occasionnel
Rebonjour,
Dans mon code, partant de l'idée qu'il n'y a que 6 colonnes (A à F), les entêtes sont récupérées par ces lignes :

Code:
TexteEnTete = Range('A1') & Chr(9) & Range('B1') _
    & Chr(9) & Range('C1') & Chr(9) & Range('D1') & Chr(9) & Range('E1') & Chr(9) & Range('F1')

et les lignes d'adresses par celles-ci :

Code:
TexteAdresse = Range('A' & Ligne & '') & Chr(9) & Range('B' & Ligne & '') & Chr(9) & Range('C' & Ligne & '') _
        & Chr(9) & Range('D' & Ligne & '') & Chr(9) & Range('E' & Ligne & '') & Chr(9) & Range('F' & Ligne & '')

Avec 30 colonnes, il vaut mieux travailler en boucle sur des
Code:
Cells
.
Mais là, tout de suite j'ai plus vraiment le temps.
 

Gibson94

Nous a quitté
Repose en paix
Bonjour Olivierd, Soft, le forum,

Je me permets d'apporter ma modeste contribution. Le fichier permet de créer autant de fichiers '.txt' qu'il y a de noms dans la colonne 'A'. Le nombre de colonnes par ligne n'a aucune importance.

[file name=base_20060428104429.zip size=15907]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/base_20060428104429.zip[/file]

Bonne journée...

Message édité par: gibson94, à: 28/04/2006 10:45
 

Pièces jointes

  • base_20060428104429.zip
    15.5 KB · Affichages: 22

olivierd

XLDnaute Junior
Gibson94 écrit:
Bonjour Olivierd, Soft, le forum,

Je me permets d'apporter ma modeste contribution. Le fichier permet de créer autant de fichiers '.txt' qu'il y a de noms dans la colonne 'A'. Le nombre de colonnes par ligne n'a aucune importance.

[file name=base_20060428104429.zip size=15907]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/base_20060428104429.zip[/file]

Bonne journée...Message édité par: gibson94, à: 28/04/2006 10:45
bonjour à tous
bonjour gibson94 et merci
je n'arrive pas à faire fonctionner ton fichier... :unsure:
Il m'exporte un unique fichier texte mais pas un fichier texte par personne ( ligne )
J'ai peut-être raté quelque chose ?

Amicalement
 

olivierd

XLDnaute Junior
soft écrit:
Rebonjour,
Dans mon code, partant de l'idée qu'il n'y a que 6 colonnes (A à F), les entêtes sont récupérées par ces lignes :

Code:
TexteEnTete = Range('A1') & Chr(9) & Range('B1') _
    & Chr(9) & Range('C1') & Chr(9) & Range('D1') & Chr(9) & Range('E1') & Chr(9) & Range('F1')

et les lignes d'adresses par celles-ci :

Code:
TexteAdresse = Range('A' & Ligne & '') & Chr(9) & Range('B' & Ligne & '') & Chr(9) & Range('C' & Ligne & '') _
        & Chr(9) & Range('D' & Ligne & '') & Chr(9) & Range('E' & Ligne & '') & Chr(9) & Range('F' & Ligne & '')

Avec 30 colonnes, il vaut mieux travailler en boucle sur des
Code:
Cells
.
Mais là, tout de suite j'ai plus vraiment le temps.
bonjour à tous,
re-bonjour soft,
merci pour tes explications, je vais essayer de comprendre ( j'ai 54 colonnes :) )
cordialement
 

Gibson94

Nous a quitté
Repose en paix
Bonjour Olivierd, le forum

Mon programme est censé créer tous les fichiers textes de chaque personne.
Je sais ce qui te manque pour le faire tourner, c'est le fichier modèle que j'ai appelé 'EnTete.txt'. Ce fichier texte est tout simple, pour le créer, tu fais une copie de ton fichier 'fichier_1.txt' et tu effaces la deuxième ligne pour ne garder que la 1ère (NOM PRENOM ADRESSE CODE VILLE TEL) et tu l'enregistres sous 'EnTete.txt'.

Le mieux pour le tester, tu crées un nouveau dossier où tu mets les 2 fichiers 'Base.xls' et 'EnTete.txt' ( pour qu'il n'y ait pas d'autres dossiers '.txt') et tu lances 'Base.xls'.

Tu me diras si çà marche correctement, tu devrais avoir les 4 nouveaux fichiers dans ton nouveau dossier.
 

olivierd

XLDnaute Junior
Gibson94 écrit:
Bonjour Olivierd, le forum

Mon programme est censé créer tous les fichiers textes de chaque personne.
Je sais ce qui te manque pour le faire tourner, c'est le fichier modèle que j'ai appelé 'EnTete.txt'. Ce fichier texte est tout simple, pour le créer, tu fais une copie de ton fichier 'fichier_1.txt' et tu effaces la deuxième ligne pour ne garder que la 1ère (NOM PRENOM ADRESSE CODE VILLE TEL) et tu l'enregistres sous 'EnTete.txt'.

Le mieux pour le tester, tu crées un nouveau dossier où tu mets les 2 fichiers 'Base.xls' et 'EnTete.txt' ( pour qu'il n'y ait pas d'autres dossiers '.txt') et tu lances 'Base.xls'.

Tu me diras si çà marche correctement, tu devrais avoir les 4 nouveaux fichiers dans ton nouveau dossier.
Re-bonjour,
merci beaucoup Gibson94 cela marche parfaitement et tu viens de me tirer une épine du pied
J'ai juste modifié le format d'export texte format txt simple ( et pas UTF-16 qui me posait problème

merci encore à toi, à vous

Bon week-end

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 493
Messages
2 088 956
Membres
103 990
dernier inscrit
lamiadebz