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

  • Initiateur de la discussion Initiateur de la discussion olivierd
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

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
 
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 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

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
 
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
 
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.
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
582
Réponses
12
Affichages
989
Retour