Créer un fichier plat à largeur fixe à partir d'Excel
1 réponse
Eddie les bons tuyaux
Bonjour,
Il est possible de sauvegarder un fichier Excel sous forme d'un fichier .csv
(séparateur point-virgule) ou d'un fichier .txt (séparateur tabulation)
Mais est-il possible, via une macro, de créer un fichier "plat" à largeur
fixe à partir d'un tableau sous Excel 2000 ?
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
Bonsoir. La macro ci-dessous convertit les cellules des colonnes de A à C en enregistrements composés de plages de 20 caractères :
Sub test1() Dim c As Range, Plage As Range, rec As String Dim i As Integer, st As String Set Plage = Range("A1", Range("A65536").End(xlUp)) Open "c:temptoto.csv" For Output As #1 For Each c In Plage For i = 0 To 2 st = Left(c.Offset(0, i), 20) If Len(st) < 20 Then st = st & WorksheetFunction.Rept(" ", 20 - Len(st)) End If st = st & ";" rec = rec & st Next i Write #1, rec rec = "" Next c Close #1 End Sub
Cordialement. Daniel "Eddie les bons tuyaux" a écrit dans le message de news:
Bonjour, Il est possible de sauvegarder un fichier Excel sous forme d'un fichier .csv (séparateur point-virgule) ou d'un fichier .txt (séparateur tabulation)
Mais est-il possible, via une macro, de créer un fichier "plat" à largeur fixe à partir d'un tableau sous Excel 2000 ?
Merci d'avance de vos suggestions.
Bonsoir.
La macro ci-dessous convertit les cellules des colonnes de A à C en
enregistrements composés de plages de 20 caractères :
Sub test1()
Dim c As Range, Plage As Range, rec As String
Dim i As Integer, st As String
Set Plage = Range("A1", Range("A65536").End(xlUp))
Open "c:temptoto.csv" For Output As #1
For Each c In Plage
For i = 0 To 2
st = Left(c.Offset(0, i), 20)
If Len(st) < 20 Then
st = st & WorksheetFunction.Rept(" ", 20 - Len(st))
End If
st = st & ";"
rec = rec & st
Next i
Write #1, rec
rec = ""
Next c
Close #1
End Sub
Cordialement.
Daniel
"Eddie les bons tuyaux" <Eddielesbonstuyaux@discussions.microsoft.com> a
écrit dans le message de news:
A2B35EF9-78C7-4937-ABFB-8B36D6DDA837@microsoft.com...
Bonjour,
Il est possible de sauvegarder un fichier Excel sous forme d'un fichier
.csv
(séparateur point-virgule) ou d'un fichier .txt (séparateur tabulation)
Mais est-il possible, via une macro, de créer un fichier "plat" à largeur
fixe à partir d'un tableau sous Excel 2000 ?
Bonsoir. La macro ci-dessous convertit les cellules des colonnes de A à C en enregistrements composés de plages de 20 caractères :
Sub test1() Dim c As Range, Plage As Range, rec As String Dim i As Integer, st As String Set Plage = Range("A1", Range("A65536").End(xlUp)) Open "c:temptoto.csv" For Output As #1 For Each c In Plage For i = 0 To 2 st = Left(c.Offset(0, i), 20) If Len(st) < 20 Then st = st & WorksheetFunction.Rept(" ", 20 - Len(st)) End If st = st & ";" rec = rec & st Next i Write #1, rec rec = "" Next c Close #1 End Sub
Cordialement. Daniel "Eddie les bons tuyaux" a écrit dans le message de news:
Bonjour, Il est possible de sauvegarder un fichier Excel sous forme d'un fichier .csv (séparateur point-virgule) ou d'un fichier .txt (séparateur tabulation)
Mais est-il possible, via une macro, de créer un fichier "plat" à largeur fixe à partir d'un tableau sous Excel 2000 ?