Bonjour,

Ce problème a été mainte fois abordé, mais aucune des solutions listées ne m'a apporté la solution...

J'utilise le code suivant pour importer un fichier CSV et copier sont contenu dans une feuille

voici le fichier d'entrée:
Date;01/06/2010
Date;10/06/2010
Date;08/06/2010
Date;30/06/2010
Date;21/06/2010
Date;13/06/2010
Date;02/03/2010
Date;04/03/2010
Date;11/03/2010
Date;15/03/2010
Date;23/03/2010
Date;29/03/2010
voici le code VB
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
        'On créé un onglet "temp" dans lequel on importera le fichier de log
        ActiveWorkbook.Worksheets.Add After:=Worksheets("Index")
        ActiveSheet.Name = "temp"
 
        Const Sep = ";"
        Dim Tablo() As String
 
        'On importe le fichier de log au format CSV
        Application.ScreenUpdating = False
        cpt = 0
        Open fichier$ For Input Access Read As #1
            Do Until EOF(1)
                Input #1, Recup
                Tablo = Split(Recup, Sep)
                For i = 0 To UBound(Tablo)
                    Worksheets("temp").Range("A1").Offset(cpt, i).Value = Tablo(i)
                Next i
                cpt = cpt + 1
            Loop
        Close #1
et voici le résultat
Date	06/01/2010
Date	06/10/2010
Date	06/08/2010
Date	30/06/2010
Date	21/06/2010
Date	13/06/2010
Date	03/02/2010
Date	03/04/2010
Date	03/11/2010
Date	15/03/2010
Date	23/03/2010
Date	29/03/2010
Dès que le numéro de jour est inférieur à 13, l'inversion se produit, sinon, la chaine semble être traitée comme une simple chaine de texte.

l'ajout de .NumberFormat = "dd/mm/yyyy" ne change absolument rien...