On m'a transmis un fichier toto.txt.
Il est formé de250 enregistrements de longueur fixe et de 236 caractères
chacun.
Seulement voilà, ces enregistrement sont à la queuleuleu sur une seule ligne
et
bien sûr après l'import, excel me propose aussi une seule ligne et chaque
cellule est pleine
des 300 enregistrements qui la concerne.
Connaissez-vous un moyen de modifier à la base ce .txt pour avoir 300
lignes.
Ou alors dans excel existe t'il un moyen de délimiter UN enregistrement.
Merci à vous.
Cordialement.
JVdeBX
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
Pierre Fauconnier
Bonjour
Tu peux toujours essayer un Données/Convertir/Largeur fixe et placer une ligne de séparation tous les 236 caractères, puis un copier/coller transposé. Evidemment, si tu as 300 données ( lignes ), cela pose problème avec 256 colonnes. Tu peux aussi adapter la macro suivante, qui découpe une cellule en fonction d'un nombre de caractères en plaçant chaque tronçon sous la cellule sélectionnée
Sub EclaterSelection() Dim Separateur As Integer Dim i As Integer Dim Cellule As Range
Set Cellule = Selection(2) Separateur = 5 For i = Separateur + 1 To Len(Selection) + 1 Step Separateur Cellule = Mid(Selection, i - Separateur, Separateur) Set Cellule = Cellule(2)
Next i
End Sub
Cela convient-il?
-- Pierre Fauconnier () Les sept laids tuent ( Lewis Carol ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
Sinon, "JVdeBX" a écrit dans le message de news:417545cd$0$32557$
Bonsoir,
On m'a transmis un fichier toto.txt. Il est formé de250 enregistrements de longueur fixe et de 236 caractères chacun. Seulement voilà, ces enregistrement sont à la queuleuleu sur une seule ligne
et bien sûr après l'import, excel me propose aussi une seule ligne et chaque cellule est pleine des 300 enregistrements qui la concerne. Connaissez-vous un moyen de modifier à la base ce .txt pour avoir 300 lignes. Ou alors dans excel existe t'il un moyen de délimiter UN enregistrement. Merci à vous. Cordialement. JVdeBX
Bonjour
Tu peux toujours essayer un Données/Convertir/Largeur fixe et placer une
ligne de séparation tous les 236 caractères, puis un copier/coller
transposé. Evidemment, si tu as 300 données ( lignes ), cela pose problème
avec 256 colonnes.
Tu peux aussi adapter la macro suivante, qui découpe une cellule en fonction
d'un nombre de caractères en plaçant chaque tronçon sous la cellule
sélectionnée
Sub EclaterSelection()
Dim Separateur As Integer
Dim i As Integer
Dim Cellule As Range
Set Cellule = Selection(2)
Separateur = 5
For i = Separateur + 1 To Len(Selection) + 1 Step Separateur
Cellule = Mid(Selection, i - Separateur, Separateur)
Set Cellule = Cellule(2)
Next i
End Sub
Cela convient-il?
--
Pierre Fauconnier (pierre.fauconnier@nospam.nospam)
Les sept laids tuent ( Lewis Carol )
Remplacez nospam.nospam par pfi.be pour répondre. Merci
Sinon,
"JVdeBX" <jack.vinciguerra.enlever@libre.fr> a écrit dans le message de
news:417545cd$0$32557$636a15ce@news.free.fr...
Bonsoir,
On m'a transmis un fichier toto.txt.
Il est formé de250 enregistrements de longueur fixe et de 236 caractères
chacun.
Seulement voilà, ces enregistrement sont à la queuleuleu sur une seule
ligne
et
bien sûr après l'import, excel me propose aussi une seule ligne et chaque
cellule est pleine
des 300 enregistrements qui la concerne.
Connaissez-vous un moyen de modifier à la base ce .txt pour avoir 300
lignes.
Ou alors dans excel existe t'il un moyen de délimiter UN enregistrement.
Merci à vous.
Cordialement.
JVdeBX
Tu peux toujours essayer un Données/Convertir/Largeur fixe et placer une ligne de séparation tous les 236 caractères, puis un copier/coller transposé. Evidemment, si tu as 300 données ( lignes ), cela pose problème avec 256 colonnes. Tu peux aussi adapter la macro suivante, qui découpe une cellule en fonction d'un nombre de caractères en plaçant chaque tronçon sous la cellule sélectionnée
Sub EclaterSelection() Dim Separateur As Integer Dim i As Integer Dim Cellule As Range
Set Cellule = Selection(2) Separateur = 5 For i = Separateur + 1 To Len(Selection) + 1 Step Separateur Cellule = Mid(Selection, i - Separateur, Separateur) Set Cellule = Cellule(2)
Next i
End Sub
Cela convient-il?
-- Pierre Fauconnier () Les sept laids tuent ( Lewis Carol ) Remplacez nospam.nospam par pfi.be pour répondre. Merci
Sinon, "JVdeBX" a écrit dans le message de news:417545cd$0$32557$
Bonsoir,
On m'a transmis un fichier toto.txt. Il est formé de250 enregistrements de longueur fixe et de 236 caractères chacun. Seulement voilà, ces enregistrement sont à la queuleuleu sur une seule ligne
et bien sûr après l'import, excel me propose aussi une seule ligne et chaque cellule est pleine des 300 enregistrements qui la concerne. Connaissez-vous un moyen de modifier à la base ce .txt pour avoir 300 lignes. Ou alors dans excel existe t'il un moyen de délimiter UN enregistrement. Merci à vous. Cordialement. JVdeBX
Clément Marcotte
Bonjour,
Comme je n'ai pas de fichier qui correspond au tien, je m'en suis bricolé un que j'ai réussi à separer en lignes de 239 caractères. Pour un nombre différent de caractères, remplacer le 239 dans :
laligne = f.Read(239)
Sub enplusieurslignes() Const ForReading = 1, ForWriting = 2, ForAppending = 8 Dim fso As Object, f As Object Dim i As Integer, laligne Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextfile("c:mes documentstoto.txt", ForReading) i = 1 Do While Not f.AtEndOfStream laligne = f.Read(239) Cells(i, 1).Value = laligne i = i + 1 Loop End Sub
"JVdeBX" a écrit dans le message de news:417545cd$0$32557$
Bonsoir,
On m'a transmis un fichier toto.txt. Il est formé de250 enregistrements de longueur fixe et de 236 caractères
chacun. Seulement voilà, ces enregistrement sont à la queuleuleu sur une seule ligne
et bien sûr après l'import, excel me propose aussi une seule ligne et chaque
cellule est pleine des 300 enregistrements qui la concerne. Connaissez-vous un moyen de modifier à la base ce .txt pour avoir 300
lignes. Ou alors dans excel existe t'il un moyen de délimiter UN enregistrement.
Merci à vous. Cordialement. JVdeBX
Bonjour,
Comme je n'ai pas de fichier qui correspond au tien, je m'en suis
bricolé un que j'ai réussi à separer en lignes de 239 caractères. Pour
un nombre différent de caractères, remplacer le 239 dans :
laligne = f.Read(239)
Sub enplusieurslignes()
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso As Object, f As Object
Dim i As Integer, laligne
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.OpenTextfile("c:mes documentstoto.txt", ForReading)
i = 1
Do While Not f.AtEndOfStream
laligne = f.Read(239)
Cells(i, 1).Value = laligne
i = i + 1
Loop
End Sub
"JVdeBX" <jack.vinciguerra.enlever@libre.fr> a écrit dans le message
de news:417545cd$0$32557$636a15ce@news.free.fr...
Bonsoir,
On m'a transmis un fichier toto.txt.
Il est formé de250 enregistrements de longueur fixe et de 236
caractères
chacun.
Seulement voilà, ces enregistrement sont à la queuleuleu sur une
seule ligne
et
bien sûr après l'import, excel me propose aussi une seule ligne et
chaque
cellule est pleine
des 300 enregistrements qui la concerne.
Connaissez-vous un moyen de modifier à la base ce .txt pour avoir
300
lignes.
Ou alors dans excel existe t'il un moyen de délimiter UN
enregistrement.
Comme je n'ai pas de fichier qui correspond au tien, je m'en suis bricolé un que j'ai réussi à separer en lignes de 239 caractères. Pour un nombre différent de caractères, remplacer le 239 dans :
laligne = f.Read(239)
Sub enplusieurslignes() Const ForReading = 1, ForWriting = 2, ForAppending = 8 Dim fso As Object, f As Object Dim i As Integer, laligne Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextfile("c:mes documentstoto.txt", ForReading) i = 1 Do While Not f.AtEndOfStream laligne = f.Read(239) Cells(i, 1).Value = laligne i = i + 1 Loop End Sub
"JVdeBX" a écrit dans le message de news:417545cd$0$32557$
Bonsoir,
On m'a transmis un fichier toto.txt. Il est formé de250 enregistrements de longueur fixe et de 236 caractères
chacun. Seulement voilà, ces enregistrement sont à la queuleuleu sur une seule ligne
et bien sûr après l'import, excel me propose aussi une seule ligne et chaque
cellule est pleine des 300 enregistrements qui la concerne. Connaissez-vous un moyen de modifier à la base ce .txt pour avoir 300
lignes. Ou alors dans excel existe t'il un moyen de délimiter UN enregistrement.
Merci à vous. Cordialement. JVdeBX
JVdeBX
A Clément et à Pierre,
Mais comment, comment vous remercier de votre gentillesse et de votre promptitude. Je vous remercie bien sincèrement de vos réponses car vous n'avez pas idée à quel point elles pouraient me sauver. Ha, quand on a un grand patron exigeant et que l'on ne connait rien à excel !!! Je teste vos solutions demain dès l'aube et je vous tiens au courant. Tout simplement MERCI. JVdeBX
A Clément et à Pierre,
Mais comment, comment vous remercier de votre gentillesse et de votre
promptitude.
Je vous remercie bien sincèrement de vos réponses car vous n'avez pas idée à
quel point elles pouraient me sauver.
Ha, quand on a un grand patron exigeant et que l'on ne connait rien à excel
!!!
Je teste vos solutions demain dès l'aube et je vous tiens au courant.
Tout simplement MERCI.
JVdeBX
Mais comment, comment vous remercier de votre gentillesse et de votre promptitude. Je vous remercie bien sincèrement de vos réponses car vous n'avez pas idée à quel point elles pouraient me sauver. Ha, quand on a un grand patron exigeant et que l'on ne connait rien à excel !!! Je teste vos solutions demain dès l'aube et je vous tiens au courant. Tout simplement MERCI. JVdeBX
Bernard
Bonsoir
Bien que la solution de Clément Marcotte fonctionne au poil, je propose quand même la mienne: Bernard