Excel : convertir un fichier .txt avec Excel
Antoine
-
amerour Messages postés 1 Statut Membre -
amerour Messages postés 1 Statut Membre -
Bonjour,
J'ai un petit problème lorsque j'essaie d'ouvrir et convertir un fichier .txt avec une macro sous Excel. Le fichier d'origine contient plusieurs champs par ligne, séparés par le caractère "|" , le premier champs est la date "jj/mm/aaaa".
Lorsque je le convertis manuellement, pas de problème, cela s'affiche correctement, mais lorsque je le convertis avec la Macro, le format de la date devient "mm/jj/aaaa" et donc les jours et les mois se trouvent inversés.
J'ai vu une solution sur ce site, toutefois cela ne marche pas pour moi à priori. Mon code ressemble à ça :
Sub Acquisition()
Workbooks.Open Filename:= _
"C:\Documents and Settings\MEROUR_A\Bureau\SOURCE.txt"
Call Conversion
Call Nettoyage
Call Mise_en_forme
Call Changement_titres
End Sub
Sub Conversion()
'
' Conversion Macro
' Macro enregistrée le 21/02/2007 par AM.
'
'
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="|", FieldInfo:=Array(Array(1, 3), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, _
1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12 _
, 1), Array(13, 1), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), _
Array(19, 1), Array(20, 1), Array(21, 1), Array(22, 1), Array(23, 1), Array(24, 1), Array( _
25, 1), Array(26, 1), Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), _
Array(32, 1), Array(33, 1), Array(34, 1), Array(35, 1), Array(36, 1), Array(37, 1), Array( _
38, 1), Array(39, 1), Array(40, 1), Array(41, 1)), TrailingMinusNumbers:=True,
Range("A1").Select
End Sub
J'ai essayé de rajouter local:=True à la fin, toutefois lorsque je fais ça j'ai un message d'erreur : Erreur d'execution '1004' Erreur définie par l'application ou par l'objet.
Est-ce que quelqu'un aurait une solution magique à me proposer ?
Merci bien.
Antoine
J'ai un petit problème lorsque j'essaie d'ouvrir et convertir un fichier .txt avec une macro sous Excel. Le fichier d'origine contient plusieurs champs par ligne, séparés par le caractère "|" , le premier champs est la date "jj/mm/aaaa".
Lorsque je le convertis manuellement, pas de problème, cela s'affiche correctement, mais lorsque je le convertis avec la Macro, le format de la date devient "mm/jj/aaaa" et donc les jours et les mois se trouvent inversés.
J'ai vu une solution sur ce site, toutefois cela ne marche pas pour moi à priori. Mon code ressemble à ça :
Sub Acquisition()
Workbooks.Open Filename:= _
"C:\Documents and Settings\MEROUR_A\Bureau\SOURCE.txt"
Call Conversion
Call Nettoyage
Call Mise_en_forme
Call Changement_titres
End Sub
Sub Conversion()
'
' Conversion Macro
' Macro enregistrée le 21/02/2007 par AM.
'
'
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="|", FieldInfo:=Array(Array(1, 3), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, _
1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12 _
, 1), Array(13, 1), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), _
Array(19, 1), Array(20, 1), Array(21, 1), Array(22, 1), Array(23, 1), Array(24, 1), Array( _
25, 1), Array(26, 1), Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), _
Array(32, 1), Array(33, 1), Array(34, 1), Array(35, 1), Array(36, 1), Array(37, 1), Array( _
38, 1), Array(39, 1), Array(40, 1), Array(41, 1)), TrailingMinusNumbers:=True,
Range("A1").Select
End Sub
J'ai essayé de rajouter local:=True à la fin, toutefois lorsque je fais ça j'ai un message d'erreur : Erreur d'execution '1004' Erreur définie par l'application ou par l'objet.
Est-ce que quelqu'un aurait une solution magique à me proposer ?
Merci bien.
Antoine
A voir également:
- Excel : convertir un fichier .txt avec Excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Excel trier par ordre croissant chiffre - Guide
1 réponse
Bonjour,
Au final j'ai fini par trouver.
Il fallait que je mette le chiffre 4 au lieu de 3 :
FieldInfo:=Array(Array(1, 4) ...
Sachant que ma 1ere colonne correspondait a la date dont le format ne s'affichait pas correctement.
Voila, pour ceux qui eventuellement se poseraient la question sur ce meme probleme.
Salut à tous.
Au final j'ai fini par trouver.
Il fallait que je mette le chiffre 4 au lieu de 3 :
FieldInfo:=Array(Array(1, 4) ...
Sachant que ma 1ere colonne correspondait a la date dont le format ne s'affichait pas correctement.
Voila, pour ceux qui eventuellement se poseraient la question sur ce meme probleme.
Salut à tous.