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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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" <alexswz@discussions.microsoft.com> a écrit dans le message de
news: 3E53FFCF-249F-498C-9D08-03975BAC7702@microsoft.com...
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
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
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
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" <alexswz@discussions.microsoft.com> a écrit dans le message de
news: 3E53FFCF-249F-498C-9D08-03975BAC7702@microsoft.com...
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
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