Garder retour de ligne export fichier txt

bonsoir,

sur le code suivant, la macro crée un fichier texte à partir de la colonne ("J297:J544").

Maintenant, j'ai en j299 une cellule contenant du texte assez long avec des retours à la ligne (crée avec alt + entrée).

comment puis je modifier la macro pour que le texte garde ces retours à la ligne lors de l'exportation du fichier texte ?

merci

Sub envoitxt()
Application.ScreenUpdating = False    
 'exportation
'Sub exportationtxt()
    SauveZoneFichierTexte Feuil1.Range("J297:J544"), Range("u24") & Feuil1.Range("J297") & ".txt"
  'Range("J297:J544")=colonne texteà exporter
  'Range("u24")=cheminexportation
  'Range("J297")=nom du fichier
   Application.ScreenUpdating = True  

End Sub    

   ' Procédure export d'une zone dans un fichier texte
' rZone = Range à sauver
' stName = Nom complet de fichier
Private Sub SauveZoneFichierTexte(rZone As Range, stName As String)
    Dim f As Integer
    Dim c As Range
    f = FreeFile
    Open stName For Output As #f
    For Each c In rZone
        Print #f, c.Text
    Next
    Close f

End Sub

Bonjour,

ici :

    For Each c In rZone
        Print #f, c.Text
    Next
 

Il faut balayer ton texte et détecter le retour à la ligne (10) :

For i = 1 To Len(c.Text)
    If Asc(Mid(c.Text, i, 1)) = 10 Then
        ' nouvelle ligne
    End If
Next

ou avec un split sur le caractère retour chariot.

Voici ...

Private Sub SauveZoneFichierTexte(rZone As Range, stName As String)
    Dim f As Integer
    Dim c As Range
    Dim i As Integer
    f = FreeFile
    Open stName For Output As #f
    For Each c In rZone
        temp = Split(c.Text, Chr(10))
        For i = 0 To UBound(temp)
            ' MsgBox temp(i)
            Print #f, temp(i)
        Next i
    Next
    Close f
End Sub

le fichier se trouve sous le répertoire par défaut (mes documents)

salut,

merci pour le fichier et l'explication, ça fonctionne très bien

à+

Rechercher des sujets similaires à "garder retour ligne export fichier txt"