Bonjour,

j'ai un petit soucis avec une importation
En fait, j'ai donc un fichier texte, sorti d'un autre logiciel, dont le séparateur est un pipe ("|") et je voudrais le transférer sous Excel, sachant qu'il y a une colonne date en format date français.
Normalement on passe donc par l'assistant d'importation de données, en choisissant un délimiteur "|" et la tout se passe et tout est bien récupéré et la date est bien récupérée.
On veut automatiser ça et donc passer par une macro pour le faire. On a cette macro sous la main :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Sub import_text()
Dim s As String
s = ActiveWorkbook.Name
Workbooks.Open "C:\temp" & NameTextFile, Format:=6, delimiter:=Chr(124)
end sub
 
Function NameTextFile() As String
Dim fic As String
Dim dernier As String
Dim dt As String
Dim jour, mois
jour = Day(Date)
mois = month(Date)
If jour < 10 Then jour = 0 & jour
If mois < 10 Then mois = 0 & mois
dt = jour & "." & mois
fic = Dir("C:\temp\*.txt")
Do Until fic = ""
    If Left$(fic, 5) = dt Then
        dt = Left$(dt, 5)
        dernier = fic
    End If
    fic = Dir
Loop
NameTextFile = dernier
End Function
Quand je lance cette macro d'importation, tout est bien récupéré sauf les dates. A priori, quand on utilise la macro, les dates sont importées en format américain (quand le jour est supérieur à 12 (par ex. "29/03/2006") ça déconne) du coup, quand par la suite on faut un tri sur la date, le tri est mal fait, du a ce format de date.

J'aimerai bien savoir comment résoudre ce problème, donc si quelqu'un a une solution, je suis preneur, et je le remercie d'avance

Si je n'ai pas été assez clair dans mes explications, faites le moi savoir