écrire une ligne d'un fichier excel dans un fichier txt [Résolu]

Signaler
Messages postés
23
Date d'inscription
lundi 3 septembre 2007
Statut
Membre
Dernière intervention
11 septembre 2007
-
Messages postés
23
Date d'inscription
lundi 3 septembre 2007
Statut
Membre
Dernière intervention
11 septembre 2007
-
Bonjour,

Je voudrai écrire une ligne d'un fichier excel vers un fichier txt, avec comme séparateur la virgule.
J'effecturai cette opération plusieur fois, et j'écrirai les données à la ligne suivantes ( dans le fichier txt)

PS : je ne connait pas le nombre de donnée dans une ligne, ça peut varier...

Merci d'avance

13 réponses

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Voici une façon simple de copier des données.
Tu peux trouver plusieurs méthodes en recherchant sur le site...

Sub CopieLigne()
    Dim I As Integer, Ligne As Long
    Dim strTemp As String   'contiendra la ligne à copier
   
    Ligne = 1   'pour l'exemple
   
    'Ouverture en mode Output qui écrase les anciennes données du fichier
    'On peut aussi ouvrir en mode Append pour les conserver
    Open ThisWorkbook.Path & "\Test.txt" For Output As #1
   
    'Stocker les données de la ligne dans une variable
    For I = 1 To 10 'copie de 10 cellules
        strTemp = strTemp & Cells(Ligne, I) & ","
    Next
   
    'Copie de cette variable sans la dernière virgule
    Print #1, Left(strTemp, Len(strTemp) - 1)
   
    'fermeture du fichier
    Close #1
End Sub

MPi
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Non, tout le code reste le même
La seule ligne à changer est celle-ci
Open ThisWorkbook.Path & "\Test.txt" For Append As #1

MPi
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
49
Salut,
Pourquoi ne pas simplement Enregistrer ton classeur au format CSV (le séparateur sera ;) .
Ca ne te vas pas?

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
23
Date d'inscription
lundi 3 septembre 2007
Statut
Membre
Dernière intervention
11 septembre 2007

ben non, moi je veux comme séparateur la virgule...
En plus, lorsque je sauvegarde en CSV, il met des ";" achaque fois que la colonne est vide...
Si vous savez comment on change de séparateur, je pourrais essayer
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Tu peux toujours commencer comme te suggères jrivet, mais au format TXT.
Ensuite, si le séparateur est toujours le point-virgule, tu l'ouvres dans une variable avec
Open ... For Binary As #Numero
Puis tu utilises Replace pour changer les séparateurs et tu enregistres

MPi
Messages postés
23
Date d'inscription
lundi 3 septembre 2007
Statut
Membre
Dernière intervention
11 septembre 2007

Vous avez ma une solution pour écrire une ligne entiére dasn fichier txt, avec comme séparateur la virgule? c'est pas possible?
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
18
Pardon ?

MPi
Messages postés
23
Date d'inscription
lundi 3 septembre 2007
Statut
Membre
Dernière intervention
11 septembre 2007

ben j'ai pas compris ta solution avec ouvrir dans une variable...Je suis débutant en vba.
Moi je veut juste copier un ligne entiére d'excel, dasn un fichier de type txt, avec comme séparateur la virgule. je sais pas si c'est possible... Merci de m'aider
Messages postés
23
Date d'inscription
lundi 3 septembre 2007
Statut
Membre
Dernière intervention
11 septembre 2007

ok merci ça marche nikel !!!
Messages postés
23
Date d'inscription
lundi 3 septembre 2007
Statut
Membre
Dernière intervention
11 septembre 2007

ok merci ça marche nikel !!!
Messages postés
23
Date d'inscription
lundi 3 septembre 2007
Statut
Membre
Dernière intervention
11 septembre 2007

ok merci ça marche nikel !!!
Messages postés
23
Date d'inscription
lundi 3 septembre 2007
Statut
Membre
Dernière intervention
11 septembre 2007

j'ai un petit souci lorsque je met append, j'ai une erreur au niveau du print " arguent ou appel de procédure incorrect" il y a d'autre changement à faire pour ajouter les données à la suite?
Messages postés
23
Date d'inscription
lundi 3 septembre 2007
Statut
Membre
Dernière intervention
11 septembre 2007

ou   i ok, maintenant ça marche, je sais aps pourquoi, j'ai juste ouvert et fermé excel....avec Microsoft quelque fois c'est meiux de ne pas chercher à comprendre....