Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Exportation en ASCII de champs formatés sur EXCEL

2 réponses
Avatar
alexswz
Bonjour,
est ce que quelqu'un aurait déjà fait une macro sous excel permettant
d'exporter le contenu d'un feuillet dans un fichier texte (ascii).
Il faut pouvoir formatter les champs (remplir avec des zéro non significatif
les chiffres et des blancs pour le texte.
Merci beaucoup pour toute aide.
Alexandre

2 réponses

Avatar
Daniel.C
Bonjour.
La macro suivante ecrit un fichier texte à partir des 5 premières colonnes
d'une feuille. Les champs sont complétés à 15 caractères.
Essaie :

Sub test()
Dim c As Range, col As Integer, Enrgt As String
Open "e:donneesdanielessai.txt" For Output As #1 ' à modifier
For Each c In Range("A1", Range("A65536").End(xlUp))
Enrgt = ""
For col = 0 To 5
If IsNumeric(c.Offset(, col)) Then
Enrgt = Enrgt & Application.Rept("0", 15 - Len(c.Offset(,
col).Text)) & c.Offset(, col).Text & ";"
Else
Enrgt = Enrgt & Application.Rept(" ", 15 - Len(c.Offset(,
col).Text)) & c.Offset(, col).Text & ";"
End If
Next col
Print #1, Left(Enrgt, Len(Enrgt) - 1)
Next
Close #1
End Sub

Cordialement.
Daniel

"alexswz" a écrit dans le message de
news:
Bonjour,
est ce que quelqu'un aurait déjà fait une macro sous excel permettant
d'exporter le contenu d'un feuillet dans un fichier texte (ascii).
Il faut pouvoir formatter les champs (remplir avec des zéro non
significatif
les chiffres et des blancs pour le texte.
Merci beaucoup pour toute aide.
Alexandre


Avatar
alexswz
Super,
merci Daniel je viens de tester cela fonctionne très bien!
Il me reste plus qu'a utiliser un onglet pour paramétrer la longueur de
chaque champ et le tour est joué...



Bonjour.
La macro suivante ecrit un fichier texte à partir des 5 premières colonnes
d'une feuille. Les champs sont complétés à 15 caractères.
Essaie :

Sub test()
Dim c As Range, col As Integer, Enrgt As String
Open "e:donneesdanielessai.txt" For Output As #1 ' à modifier
For Each c In Range("A1", Range("A65536").End(xlUp))
Enrgt = ""
For col = 0 To 5
If IsNumeric(c.Offset(, col)) Then
Enrgt = Enrgt & Application.Rept("0", 15 - Len(c.Offset(,
col).Text)) & c.Offset(, col).Text & ";"
Else
Enrgt = Enrgt & Application.Rept(" ", 15 - Len(c.Offset(,
col).Text)) & c.Offset(, col).Text & ";"
End If
Next col
Print #1, Left(Enrgt, Len(Enrgt) - 1)
Next
Close #1
End Sub

Cordialement.
Daniel

"alexswz" a écrit dans le message de
news:
Bonjour,
est ce que quelqu'un aurait déjà fait une macro sous excel permettant
d'exporter le contenu d'un feuillet dans un fichier texte (ascii).
Il faut pouvoir formatter les champs (remplir avec des zéro non
significatif
les chiffres et des blancs pour le texte.
Merci beaucoup pour toute aide.
Alexandre