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

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
JLuc
Le #4477791
*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

JB
Le #4477781
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"
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


isabelle
Le #4477771
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




isabelle
Le #4477751
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






Fred
Le #4477741
ok merci j'essaye de suite

merci beaucoup

fred

"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





Fred
Le #4477531
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








Publicité
Poster une réponse
Anonyme