Ouvrir Fichier CSV en VBA Probleme format Date

Raynaud.JF

XLDnaute Nouveau
Bonjour, j'ai un souci quand je veux ouvrir un fichier CSV depuis ma macro VBA.
Nota : l'exemple est sur le fichier joint, il est normalement en .CSV et non .TXT
Quand j'ouvre mon fichier via la macro :
MyFichier = Application.GetOpenFilename
Workbooks.OpenText Filename:=MyFichier, DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
Comma:=True, FieldInfo _
:=Array(Array(1, 1),Array(2, 5), 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)), TrailingMinusNumbers:=True

La 2e colonne qui est une date, et qui normalement en format text est sous la forme AA/MM/JJ est converti lors de l'ouverture en inversant l'Année et le jour, plus precisement le format text de depart est par exemple le 12/12/06 pour le 6 decembre 2012, et en lancant la macro il l'ouvre sous la forme 12 Decembre 2006, malgré la notion de "conversion de la date en AA/MM/JJ" lors du workbooks open text fieldinfo .... (array 2,5)
Quelqu'un connaitrait t'il l'astuce pour eviter ce soucis.
Merci par avance de votre aide.
 

Pièces jointes

  • Test.txt
    6.2 KB · Affichages: 109
  • Test.txt
    6.2 KB · Affichages: 122
  • Test.txt
    6.2 KB · Affichages: 127

xhudi69

XLDnaute Accro
Re : Ouvrir Fichier CSV en VBA Probleme format Date

Bonsoir Raynaud.JF, le Forum,

Ton fichier joint est au format "OPEN OFFICE"

Capturer.JPG

La colonne "A" est bien au bon format.

@+
 

Pièces jointes

  • Capturer.JPG
    Capturer.JPG
    41.1 KB · Affichages: 191
  • Capturer.JPG
    Capturer.JPG
    41.1 KB · Affichages: 190

xhudi69

XLDnaute Accro
Re : Ouvrir Fichier CSV en VBA Probleme format Date

Re bonsoir Raynaud.JF

Si je veux télécharger ton fichier voilà ce que j'aurais:
si je metsle séparateur "," j'ai bien la colonne "B" au bon format.

Raynaud2.jpg

Raynaud3.jpg

@+

PS: Bonsoir Gelinotte :) on s'est croisé.
 

Raynaud.JF

XLDnaute Nouveau
Re : Ouvrir Fichier CSV en VBA Probleme format Date

Bonsoir,

Cette macro d'importation, peut-on voir à quoi elle ressemble, afin de bien comprendre le problème de date ?


G

Bonjour, et merci de m'aider,
Les lignes de la macro se trouve dans ma demande d'aide au début.
A noter que sur tes copies d'ecran la date dans la colonne B n'est pas au format souhaité, le 06 doit etre le jour et non l'année.
 

Gelinotte

XLDnaute Accro
Re : Ouvrir Fichier CSV en VBA Probleme format Date

Bonjour,

Ce genre de problème peut provenir du format de la date courte dans le Panneau de configuration de l'ordinateur.

Pour vérifier : Panneau de configuration,
(sous XP) Options Régionals et Linguistiques, bouton Personnalisé, onglet Date, format de la Date courte.
(sous Win7), Région et Langues, Date courte.

Une fois le format ajusté à tes préférences, à la prochaine importation, le format de la date de la colonne B devrait être au même format que le format de la date courte de l'ordinateur.

Regarde cela si ça convient ...


G
 

MJ13

XLDnaute Barbatruc
Re : Ouvrir Fichier CSV en VBA Probleme format Date

Bonjour à tous

On peut parfois utiliser local:= true , mais il faut tester.

Voici un petit fichier pour faire le test. En général pour ce genre de problème, c'est mieux evec le fichier txt et le fichier xls pour tester rapidement. Testé sur Xl2010.

Pour vérifier : Panneau de configuration,
(sous XP) Options Régionals et Linguistiques, bouton Personnalisé, onglet Date, format de la Date courte.
(sous Win7), Région et Langues, Date courte.

Une fois le format ajusté à tes préférences, à la prochaine importation, le format de la date de la colonne B devrait être au même format que le format de la date courte de l'ordinateur.

Regarde cela si ça convient ...

Merci Gelinotte, si cela fonctionne, cela peut-être intéressant à savoir :).
 

Pièces jointes

  • Ouvre_txt.xls
    42.5 KB · Affichages: 143

Raynaud.JF

XLDnaute Nouveau
Re : Ouvrir Fichier CSV en VBA Probleme format Date

Re-Bonjour merci a tous de l'intérét porté à mon probleme.
J'ai testé merci Gelinotte et MJ13, je vais essayer "ouvre_txt.xls".
Pour votre info, j'ai detourné le probleme de la maniere suivante (desolé les puristes...)
Pour chaque valeur de la colonne date j'ai extrait, les 2 derniers caratères (right,2) = "jr"
puis mid (de 4 sur 2) = "mo" puis (left, 2) = "an" puis recomposé la date par un dateserial(an , mo , jr), cela semble fonctionner.
Une nouvelle fois merci à tous.
 

MJ13

XLDnaute Barbatruc
Re : Ouvrir Fichier CSV en VBA Probleme format Date

Re

Pour votre info, j'ai detourné le probleme de la maniere suivante (desolé les puristes...)
Pour chaque valeur de la colonne date j'ai extrait, les 2 derniers caratères (right,2) = "jr"
puis mid (de 4 sur 2) = "mo" puis (left, 2) = "an" puis recomposé la date par un dateserial(an , mo , jr), cela semble fonctionner.

Mais au contraire, c'est une très bonne idéee :).

Sauf que quelquefois, ce sont le dates avec des jours inférieurs à 13 qui sont inversés et pas les autres.
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 923
Membres
101 840
dernier inscrit
SamynoT