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

transformation d'un fichier text (.txt) en excel

6 réponses
Avatar
Frédéric GARNIER
bonjour,

j'ai un petit soucis lorsque je transforme en fichier txt en Excel,
mon fichier txt est formaté avec des données séparées par des ;
pour ce faire j'ai fait une macro mais mes données numérique sont
considérées comme des chiffres alors que je souhaite garder le format txt
pour éviter de perdre les 0 devant ou bien me retrouver avec un format du
type :
1,762E+13
pour les grands nombre

Voici la macro utilisée

Sub MakeIt()

filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows,
DataType:=xlDelimited, Tab:=True, Other:=True, OtherChar:=";"
Else
Exit Sub
End If
End Sub

quelqu'un peut-il m'aider?


merci d'avance

Fred

6 réponses

Avatar
JLuc
*Bonjour Frédéric GARNIER*,
A la fin, rajoute :
, FieldInfo:=Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 2))

Ceci pour 4 colonnes. Le premier chiffre est le numéro de colonne, le
deuxième le type de donnée
Regarde l'aide à "OpenText"


bonjour,

j'ai un petit soucis lorsque je transforme en fichier txt en Excel,
mon fichier txt est formaté avec des données séparées par des ;
pour ce faire j'ai fait une macro mais mes données numérique sont considérées
comme des chiffres alors que je souhaite garder le format txt pour éviter de
perdre les 0 devant ou bien me retrouver avec un format du type :
1,762E+13
pour les grands nombre

Voici la macro utilisée

Sub MakeIt()

filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows,
DataType:=xlDelimited, Tab:=True, Other:=True, OtherChar:=";"
Else
Exit Sub
End If
End Sub

quelqu'un peut-il m'aider?


merci d'avance

Fred


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O

Avatar
JB
Bonsoir,

Utiliser l'enregistreur auto.
Dans l'assistant, choisir 'Texte' au lieu de 'standard' pour le champ:

JB
On 3 mai, 19:06, "Frédéric GARNIER" wrote:
bonjour,

j'ai un petit soucis lorsque je transforme en fichier txt en Excel,
mon fichier txt est formaté avec des données séparées par des ;
pour ce faire j'ai fait une macro mais mes données numérique sont
considérées comme des chiffres alors que je souhaite garder le format txt
pour éviter de perdre les 0 devant ou bien me retrouver avec un format du
type :
1,762E+13
pour les grands nombre

Voici la macro utilisée

Sub MakeIt()

filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows,
DataType:=xlDelimited, Tab:=True, Other:=True, OtherChar:=";"
Else
Exit Sub
End If
End Sub

quelqu'un peut-il m'aider?

merci d'avance

Fred


Avatar
isabelle
bonjour Frédéric,

regarde la réponse de Clément sur ce lien,

http://groups.google.com/group/microsoft.public.fr.excel/browse_thread/thread/cccb40eb78a103a9/6f7b597c382755e2?lnk=st&q=csv+s%C3%A9par%C3%A9+%3B+group%3Amicrosoft.public.fr.excel&rnum &hl=fr#6f7b597c382755e2

isabelle

bonjour,

j'ai un petit soucis lorsque je transforme en fichier txt en Excel,
mon fichier txt est formaté avec des données séparées par des ;
pour ce faire j'ai fait une macro mais mes données numérique sont
considérées comme des chiffres alors que je souhaite garder le format txt
pour éviter de perdre les 0 devant ou bien me retrouver avec un format du
type :
1,762E+13
pour les grands nombre

Voici la macro utilisée

Sub MakeIt()

filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows,
DataType:=xlDelimited, Tab:=True, Other:=True, OtherChar:=";"
Else
Exit Sub
End If
End Sub

quelqu'un peut-il m'aider?


merci d'avance

Fred




Avatar
isabelle
voici le code,

Sub ouvrirfichiertexteetseparer()
Dim separateur As String, i As Integer, f1 As Object
Dim fso As Object, f As Object, laligne As String
Const ForReading = 1
separateur = ";"
lenom = "C:temptestCSV.csv"
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.GetFile(lenom)
Set f = f1.OpenAsTextStream(ForReading, TristateUseDefault)
i = 1
Do While Not f.AtEndOfStream
laligne = f.ReadLine
laligne1 = Split(laligne, separateur)
For j = 0 To UBound(laligne1)
If InStr(laligne1(j), Chr(34)) = 1 Then
laligne1(j) = Right(laligne1(j), Len(laligne1(j)) - 1)
End If
If InStrRev(laligne1(j), Chr(34)) > 0 Then
laligne1(j) = Left(laligne1(j), InStrRev(laligne1(j), Chr(34)) - 1)
End If
Cells(i, j + 1).Value = "'" & (laligne1(j))
Next
i = i + 1
Loop
f.Close
End Sub

isabelle


bonjour Frédéric,

regarde la réponse de Clément sur ce lien,

http://groups.google.com/group/microsoft.public.fr.excel/browse_thread/thread/cccb40eb78a103a9/6f7b597c382755e2?lnk=st&q=csv+s%C3%A9par%C3%A9+%3B+group%3Amicrosoft.public.fr.excel&rnum &hl=fr#6f7b597c382755e2


isabelle


bonjour,

j'ai un petit soucis lorsque je transforme en fichier txt en Excel,
mon fichier txt est formaté avec des données séparées par des ;
pour ce faire j'ai fait une macro mais mes données numérique sont
considérées comme des chiffres alors que je souhaite garder le format
txt pour éviter de perdre les 0 devant ou bien me retrouver avec un
format du type :
1,762E+13
pour les grands nombre

Voici la macro utilisée

Sub MakeIt()

filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows,
DataType:=xlDelimited, Tab:=True, Other:=True, OtherChar:=";"
Else
Exit Sub
End If
End Sub

quelqu'un peut-il m'aider?


merci d'avance

Fred






Avatar
Fred
ok merci j'essaye de suite

merci beaucoup

fred

"JLuc" a écrit dans le message de news:

*Bonjour Frédéric GARNIER*,
A la fin, rajoute :
, FieldInfo:=Array(Array(1, 2), Array(2, 2), Array(3, 2), Array(4, 2))

Ceci pour 4 colonnes. Le premier chiffre est le numéro de colonne, le
deuxième le type de donnée
Regarde l'aide à "OpenText"


bonjour,

j'ai un petit soucis lorsque je transforme en fichier txt en Excel,
mon fichier txt est formaté avec des données séparées par des ;
pour ce faire j'ai fait une macro mais mes données numérique sont
considérées comme des chiffres alors que je souhaite garder le format txt
pour éviter de perdre les 0 devant ou bien me retrouver avec un format du
type :
1,762E+13
pour les grands nombre

Voici la macro utilisée

Sub MakeIt()

filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows,
DataType:=xlDelimited, Tab:=True, Other:=True, OtherChar:=";"
Else
Exit Sub
End If
End Sub

quelqu'un peut-il m'aider?


merci d'avance

Fred


--
____
( O | O )
--
_oooO_ JLuc _Oooo_

O-O





Avatar
Fred
Fred dit un grand merci à tous, j'ai maintenant plusieurs solutions que j'ai
testé, je ne sais pas encore laquelle je utiliser definitivement.

bonsoir à tous

Fred

"isabelle" a écrit dans le message de news:
e9Z3a%
voici le code,

Sub ouvrirfichiertexteetseparer()
Dim separateur As String, i As Integer, f1 As Object
Dim fso As Object, f As Object, laligne As String
Const ForReading = 1
separateur = ";"
lenom = "C:temptestCSV.csv"
Set fso = CreateObject("Scripting.FileSystemObject")
Set f1 = fso.GetFile(lenom)
Set f = f1.OpenAsTextStream(ForReading, TristateUseDefault)
i = 1
Do While Not f.AtEndOfStream
laligne = f.ReadLine
laligne1 = Split(laligne, separateur)
For j = 0 To UBound(laligne1)
If InStr(laligne1(j), Chr(34)) = 1 Then
laligne1(j) = Right(laligne1(j), Len(laligne1(j)) - 1)
End If
If InStrRev(laligne1(j), Chr(34)) > 0 Then
laligne1(j) = Left(laligne1(j), InStrRev(laligne1(j), Chr(34)) - 1)
End If
Cells(i, j + 1).Value = "'" & (laligne1(j))
Next
i = i + 1
Loop
f.Close
End Sub

isabelle


bonjour Frédéric,

regarde la réponse de Clément sur ce lien,

http://groups.google.com/group/microsoft.public.fr.excel/browse_thread/thread/cccb40eb78a103a9/6f7b597c382755e2?lnk=st&q=csv+s%C3%A9par%C3%A9+%3B+group%3Amicrosoft.public.fr.excel&rnum &hl=fr#6f7b597c382755e2
isabelle


bonjour,

j'ai un petit soucis lorsque je transforme en fichier txt en Excel,
mon fichier txt est formaté avec des données séparées par des ;
pour ce faire j'ai fait une macro mais mes données numérique sont
considérées comme des chiffres alors que je souhaite garder le format
txt pour éviter de perdre les 0 devant ou bien me retrouver avec un
format du type :
1,762E+13
pour les grands nombre

Voici la macro utilisée

Sub MakeIt()

filetoopen = Application.GetOpenFilename
If filetoopen <> False Then
Workbooks.OpenText Filename:=filetoopen, Origin:=xlWindows,
DataType:=xlDelimited, Tab:=True, Other:=True, OtherChar:=";"
Else
Exit Sub
End If
End Sub

quelqu'un peut-il m'aider?


merci d'avance

Fred