Problème conversion csv et formats de date

actaris

XLDnaute Nouveau
Bonjour,

Je vous explique mon problème. Regardez le fichier joint, qui l'illustre.

Alors en gros, en prérequis j'ai importé un fichier csv qui apparait tel quel dans l'onglet "Data".

Le souci:

Lorsque manuellement, je fais convertir mon fichier : Données --> Convertir --> Délimité --> Autre "|", Excel me met très bien les dates en colonne 6 comme il faut. Lorsque je filtre sur les dates, j'ai bien le 2 octobre et le 24 septembre.

Par contre, lorsque je fais exactement la meme chose en VBA :

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, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, _
1), Array(6, 1)), TrailingMinusNumbers:=True

Et bien il me fait n'importe quoi avec les dates. Il me transforme le 2 octobre en 10 février, et le 24 septembre passe au format texte, il n'est plus reconnu comme une date.

Je vois bien qu'il y'a un souci de format US / Européen mais je n'arrive pas à le résoudre. Il faut imaginer que le fichier contient environ 1000 lignes de ce type donc il faut que j'arrive à l'automatiser.

Merci pour votre aide !!!

Je désespère...
 

Pièces jointes

  • Bug_Dates_Test.xlsm
    17.3 KB · Affichages: 41

Modeste geedee

XLDnaute Barbatruc
Re : Problème conversion csv et formats de date

Bonsour® Chris ;o
Hélas cette option n'est présente que dans la fonction Workbook.OpenText
mais pas dans Selection.TextToColumns
plutôt essayer ceci :

Sub Macro1()
Columns("A:A").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="|", FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, _
1), Array(6, 4)), TrailingMinusNumbers:=True
Columns("F:F").EntireColumn.AutoFit
Columns("F:F").ColumnWidth = 25.71
End Sub
:rolleyes:
 

actaris

XLDnaute Nouveau
Re : Problème conversion csv et formats de date

Bonjour,

Merci pour vos réponses.
En effet, le Local:=True ne fonctionne pas, et j'avais déja essayé le Array(6,4) mais il me transforme les premieres dates en dates américaines (10 février au lieu de 2 octobre), et cela ne semble pas fonctionner pour les deuxièmes dates :-\
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87