Bonjour,
Pouvez-vous m'aider à créer plusieurs fichiers txt (soit un fichier par ligne) partir d'un fichier excel avec séparateur virgule. Le nom du fichier txt etant le contenue de la colonne A.
Merci de votre aide.
Bonjour,
Pouvez-vous m'aider à créer plusieurs fichiers txt (soit un fichier par ligne) partir d'un fichier excel avec séparateur virgule. Le nom du fichier txt etant le contenue de la colonne A.
Merci de votre aide.
ou en êtes-vous.... ?
un peu de lecture :
II. Les fichiers textes
Vraiment mes connaissances en VB sont faibles. Si vous avez une idée je serai très reconnaissant.
Tu ne dis pas si tu veux une donnée par ligne ou toutes tes données sur la même ligne. Le séparateur "," semble vouloir indiquer que c'est sur la même ligne. Auquel cas, et selon la méthode d'écriture que tu utilises, la FAQ reste imprécise pour réaliser ça
Si tu concatènes toutes les données de la ligne Excel en les séparant par une virgule pour les placer dans le txt ligne par ligne, c'est ok.
Mais si tu écris dans le txt, cellule pas cellule, en ajoutant la vigule comme séparateur, tu dois ajouter un ; après le séparateur.
Un petit exemple valant mieux qu'un long discours... je reprends le code de la FAQ
Si tu veux une donnée par ligne, tu supprimes le pt virgule ici (*)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 Sub EcrireDansUnTxt() Dim intFic As Integer, DerniereLigne As Long, DerniereColonne As Integer Dim NoLigne As Long, NoCol as integer, NomFich As String 'Je suppose que tu n'as pas de ligne ni de colonne vide, 'et que tu veux copier les données de la 2ème à la dernière colonne renseignée DerniereLigne = Range("A1").SpecialCells(xlCellTypeLastCell).Row DerniereColonne = Range("A1").SpecialCells(xlCellTypeLastCell).Column intFic = FreeFile For NoLigne = 2 To DerniereLigne '2 si tu as une ligne d'entête NomFich = Cells(NoLigne, 1).Value Open "D:\txt\" & NomFich & ".txt" For Output As intFic For NoCol = 2 To DerniereColonne - 1 Print #intFic, Cells(NoLigne, NoCol) & ","; ' (*) le ; évite le retour à la ligne Next Print #intFic, Cells(NoLigne, NoCol) 'finit la ligne sans séparateur Close intFic Next End Sub
A+
Merci beacoup le pb est résolu
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager