Exporter lignes tableau en fichier .txt

Bonjour,

Je cherche, je teste et je plante. Merci de votre aide.

Je souhaiterais exporter chaque ligne du tableau vers un fichier .txt distinct. Le nom du fichier correspond au contenu de la cellule A, le contenu du fichier .txt est cellules B+C.

Je désespère...

Merci d'avance.

11testcpd.xlsx (9.32 Ko)

Bonjour,

à tester,

Sub CreerFichierTexte()
Dim stF As String
Dim f As Integer, i As Long

With Sheets("Feuil1")
    For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
        stF = ThisWorkbook.Path & "\" & .Cells(i, 1) & ".txt"
        f = FreeFile

        Open stF For Output As #f
        Print #f, .Cells(i, 2)
        Print #f, .Cells(i, 3)
        Close #f
    Next i
End With
End Sub

Bonsoir et merci pour ce premier jet qui semble bien fonctionner mis à part la perte des '0' dans le nom de fichier et, dans la colonne 3 la perte du format du nombre.

On obtient : Nom fichier 23.txt en lieu et place de 023.txt

Contenu :

Texte 023 (c'est OK)

600 Au lieu de : 600 CHF (car le code prend le chiffre 600, sans format).

Je vais essayer de 'bricoler' sur la base du code proposé.

En tous cas, merci beaucoup. Cela m'aide déjà énormément.

Top!

re,

pour les nom de fichier,

remplacer la ligne

stF = ThisWorkbook.Path & "\" & .Cells(i, 1) & ".txt"

par

stF = ThisWorkbook.Path & "\" & Format(.Cells(i, 1), "000")  & ".txt"

pour la colonne 3

remplacer la ligne

Print #f, .Cells(i, 3)

par

Print #f, Format(.Cells(i, 3),"_-* # ##0.00\ "CHF"_-;-* # ##0.00\ "CHF"_-;_-* "-"??\ "CHF"_-;_-@_-")

re,

voici votre fichier avec le nouveau code,

11testcpd.xlsm (18.88 Ko)

Merci i20100,

Je comprends pourquoi... je n'y arrivais pas.

Il y a encore un ou deux petits bugs dans le contenu du fichier txt que je vais m'efforcer de résoudre comme les signes _- devant et derrière les chiffres :

Découpé du bloc W36/37 sur lettre FDC

_-160.00 CHF_-

ou alors l'apparition de _-@_- lorsqu'il n'y a rien dans la colonne 3 :

PJ 1966-1969 avec oblitération centrale ET

_-@_-

Super. Merci vraiment!!

re,

c'est un problème du au format perso (CHF),

à tester,

Sub CreerFichierTexte()
Dim stF As String
Dim f As Integer, i As Long

With Sheets("Feuil1")
    For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
        stF = ThisWorkbook.Path & "\" & Format(.Cells(i, 1), "000") & ".txt"
        f = FreeFile

        Open stF For Output As #f
        Print #f, .Cells(i, 2)
        Print #f, .Cells(i, 3)
        Close #f
    Next i
End With
End Sub

Bonsoir,

Merci pour tout.

En fait je vais me simplifier la tâche en intégrant une 4e colonne ou je noterai CHF ou € là où c'est nécessaire.

Comme ça le tour est joué.

Par contre, (c'est un peu bête) je ne sais pas comment écrire ce qu'il y aurait dans les colonnes 3 et 4 pour que cela apparaissent sur une seule ligne dans le fichier txt, car actuellement ça vient l'un en dessous de l'autre.

Merci d'avance.

On touche au but!

re,

à tester,

Sub CreerFichierTexte()

Dim stF As String

Dim f As Integer, i As Long

With Sheets("Feuil1")

For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row

stF = ThisWorkbook.Path & "\" & Format(.Cells(i, 1), "000") & ".txt"

f = FreeFile

Open stF For Output As #f

Print #f, .Cells(i, 2) & " " & .Cells(i, 3) & " " & .Cells(i, 4)

Close #f

Next i

End With

End Sub

RE,

J'ai trouvé : il suffit de mettre ' ; ' là où il faut et le texte ne va pas à la ligne.

extrait :

Print #f, .Cells(i, 2)

Print #f, .Cells(i, 3);

Print #f, .Cells(i, 4)

Donc pour l'instant, c'est OK.

Merci, merci.

Rechercher des sujets similaires à "exporter lignes tableau fichier txt"