VBA txt vers Excel format date

pepettepuce Messages postés 1 Date d'inscription jeudi 16 octobre 2008 Statut Membre Dernière intervention 16 octobre 2008 - 16 oct. 2008 à 09:24
BlanquerElie Messages postés 9 Date d'inscription lundi 3 novembre 2008 Statut Membre Dernière intervention 12 juin 2013 - 3 nov. 2008 à 11:02
Hello,

je génère un fichier texte à partir d'une application Business Object v5
Ensuite à partir d'une macro VB, je veux enregistrer ce fichier .txt au format Excel.

Donc j'ouvre une appli Excel, puis j'ouvre mon fichier txt dans Excel et je l'enregistre en .xls.

Mon problème est le suivant :
le fichier txt contient des dates, et quand il est au format .xls, toutes les dates sont inversées.
Elle sont stockées au format anglais MM/DD/YYYY.
Pour corser le tout, cela s'éxéute en batch sur un serveur et je n'ai donc pas la main sur Excel.

J'ai vérifié tous les paramètres régionaux et tout est bien en francais.

Voici le bout de code qui génère mon fichier xls :

Sub saveasexcel()

Dim appExcel As New Excel.Application
appExcel.Visible = False
Workbooks.OpenText Filename:=chemin_exporte_1$ + nom_fichier1
chemin_fichier1 = chemin_exporte_1$ + nom_fichier1
appExcel.ActiveWorkbook.SaveAs Filename:=Left(chemin_fichier1, Len(chemin_fichier1) - 4) & ".xls", FileFormat:=xlNormal
nom_fichier1 = Left(nom_fichier1, Len(nom_fichier1) - 4) & ".xls"
ActiveWorkbook.Close SaveChanges:=False
appExcel.Quit
Set appExcel = Nothing

End Sub

Avez vous une solution, car j'ai plein de transaction de ce genre sur des fichiers txt comportant des dates.


puce

2 réponses

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
16 oct. 2008 à 17:27
Salut,

peux-tu nous donner un exemple de fichier text ?

A+
0
BlanquerElie Messages postés 9 Date d'inscription lundi 3 novembre 2008 Statut Membre Dernière intervention 12 juin 2013
3 nov. 2008 à 11:02
Bonjour,

J'ai eu le même problème que toi la semaine passée.
Ayant pensé à un problème d'anglais inopiné, j'ai fait une recherche sur les forums. J'y ai trouvé une information sur un problème analogue, sur une autre commande...






<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

 








SaveAs propose le paramètre 'Local', de valeur True ou False.









True enregistre les fichiers en fonction de la langue utilisée par Excel.









False (par défaut) enregistre les fichiers en fonction de la langue de VBA… donc en Anglais.









 








J’ai extrapolé de SaveAs à OpenText :









 







Ci-dessous mon code :









    Workbooks.OpenText FileName:=NomFichierTxt_01, _







        Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, _







        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, _







        Tab:=True, Semicolon:=False, Comma:=False, Space:=False,  _ 
        Other:=False, _







       
local:=True, _











        FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), _










                    Array(4, 1), Array(5, 1), Array(5, 1), Array(6, 1), _










                    Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1)), _










                   
TrailingMinusNumbers:=True






 





En 6ème ligne le fameux paramètre, non ‘majusculé’ par l’Éditeur, par parfaitement exécuté par le code.




 





J’espère que cela résoudra ton souci.

Cordialement
André
0
Rejoignez-nous