Macro et conversion txt/xls

  • Initiateur de la discussion Excel lent
  • Date de début
E

Excel lent

Guest
Salut le forum...
j'ai un fichier .txt avec des données date/heure 'jj/mm/aaaa hh:mm:ss' inclus a l'intérieur , ex: '25/05/2006 00:00:00' (type jour>12) ou '10/05/2006 00:00:00' (type jour12 interpreté comme du texte, et pour les données type jour<12, cela les transforme en des données de type date, qui plus est sous le format mm/jj/aaaa... ce qui rend tout incompatible
Y'a t'il un moyen de remédier à cela?
Merci d'avance
EL
 
E

Excel lent

Guest
Je reprends tout, le premier post ayant subi pas mal de galères

Excel lent écrit:
Salut le forum...
j'ai un fichier .txt avec des données date/heure 'jj/mm/aaaa hh:mm: ss' inclus a l'intérieur , ex: '25/05/2006 00:00:00' (type jour>12) ou '10/05/2006 00:00:00' (type jour12, la macro interprete cela comme du texte et laisse tout sous cette forme, et pour les données type jour<12, cela les transforme en des données de type date, mais interprete le format sous la forme mm/jj/aaaa... le 10 Mai va devenir un 5 Octobre, ce qui rend tout incompatible
Y'a t'il un moyen de remédier à cela?
Merci d'avance
EL
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Bonjour Excel lent, le forum

Bien sur qu'il y a moyen, tu peux spécifier le format de tes données à l'importation ou utiliser une conversion aprés ouverture ou un accés binaire au fichier pour maitriser l'import.
mets un petit fichier exemple

Cordialement, A+
 
E

Excel lent

Guest
ok
Mes fichier sont trop gros.
Pour faire vite...
Tu crées un fichier .txt avec juste les dates: 15/12/06
10/12/06

Ensuite dans un fichier Excel, dans ta macro 1 tu mets le code:

Sub Macro2()
'
' Macro2 Macro
' Macro enregistrée le 16/05/2006 par
'

'
Workbooks.OpenText Filename:= _
'C:\\Documents and Settings\\cerisiers\\Desktop\\Ess.txt', Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False _
, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 1), Array(2, 1), _
Array(3, 1))


End Sub


Le résultat obtenu sera alors:
15/12/06 00:00:00
12/10/2006 00:00 <- problématique
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
vite fait sur ton exemple, testé et fonctionnel
utilises un fieldinfo:=Array(1, 4)
Code:
    Workbooks.OpenText Filename:='C:\\Copy\\test.txt', Origin:=xlWindows, _
        StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
        ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, Comma:=False _
        , Space:=False, Other:=False, FieldInfo:=Array(1, 4)
 
S

Seb

Guest
Bon bah les gens n'aident plus trop par ici...
A tout hazard, jai essayé la meme macro sur un autre pc et un autre Excel et j'ai le meme probleme donc si jamais qqun a une idée... je suis preneur
A+
 

Bernard_XLD

XLDnaute Barbatruc
Membre du Staff
Re bonjour

tu es un peu culotté dans ton post, on ne reste pas connecté en permanence.
J'ai suivi exactement ce que tu disais et cela fonctionne parfaitement chez moi et au boulot
win xp pro et excel xp
mes fichiers test en pièce jointe
si tu veux éviter ce genre de problème, joins tes fichiers test, qu'on parle tous de la même chose

A+
[file name=Exemple_20060516215311.zip size=6058]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Exemple_20060516215311.zip[/file]
 

Pièces jointes

  • Exemple_20060516215311.zip
    5.9 KB · Affichages: 30

Statistiques des forums

Discussions
312 497
Messages
2 088 992
Membres
104 000
dernier inscrit
dinelcia