robby98800
XLDnaute Nouveau
Bonjour à tous,
alors voilà j'ai un souci que je n'arrive pas à comprendre. J'importe un fichier .csv qui comporte sur la première colonne des dates comme celle-ci : 11/03/2012 (soit 11 Mars 2012).
Quand le fichier est importé dans un nouveau classeur excel la date devient : 03/11/2012.
En fait je sélectionne les données qui sont comprises entre deux dates que l'utilisateur peut choisir grâce a un calendrier DTPicker dans une userform. Je ne sais pas si le souci pourrait venir d'ici, parce que le calendrier est lui au "bon format" c'est à dire 11/03/2012 (11 Mars 2012)
Je vous montre le code que j'utilise pour importer le fichier csv. (Celui ci doit etre compris dans le même dossier que le fichier excel ou l'on copie les données).
Je met en pièce jointe le fichier excel et le fichier csv. Pour faire l'importation les deux doivent être dans le meme dossier.
Merci de votre aide!
Robin
alors voilà j'ai un souci que je n'arrive pas à comprendre. J'importe un fichier .csv qui comporte sur la première colonne des dates comme celle-ci : 11/03/2012 (soit 11 Mars 2012).
Quand le fichier est importé dans un nouveau classeur excel la date devient : 03/11/2012.
En fait je sélectionne les données qui sont comprises entre deux dates que l'utilisateur peut choisir grâce a un calendrier DTPicker dans une userform. Je ne sais pas si le souci pourrait venir d'ici, parce que le calendrier est lui au "bon format" c'est à dire 11/03/2012 (11 Mars 2012)
Je vous montre le code que j'utilise pour importer le fichier csv. (Celui ci doit etre compris dans le même dossier que le fichier excel ou l'on copie les données).
Code:
Dim derligne1 As Long
Dim derligne2 As Long, derligne3 As Long, derligne4 As Long, derligne5 As Long, derligne6 As Byte
Dim tablo1 As Variant, tablo2 As Variant, tablo3 As Variant
Dim ecart_date As Integer
Dim I As Long, k As Long, u As Byte, f As Long
Dim Tablo() As Variant, CelSource As Variant
Dim Cel As Range
Dim ladate1 As Date, ladate2 As Date
Dim Source
Dim Temp As String
Dim TabloOK As Boolean
Dim fs
'Importer les données de plusieurs classeurs
Application.ScreenUpdating = False
Set fs = CreateObject("Scripting.FileSystemObject")
TabloOK = False
derligne2 = Sheets("releve_erreur").Range("A" & Rows.Count).End(xlUp)(2).Row 'definit la derniere ligne de la colonne A
ladate1 = DTPicker1.Value
ladate2 = DTPicker2.Value
Temp = Dir(ActiveWorkbook.Path & "\*.csv")
Do While Temp <> ""
Workbooks.Open Filename:=ThisWorkbook.Path & "\" & Temp
With Sheets(1)
derligne3 = Cells(Rows.Count, 1).End(xlUp).Row
For Each Cel In .Range("A2:A" & derligne3)
CelSource = Split(Cel.Value, ";")
If Cel = ";;;;" Then GoTo suite:
If CelSource(0) >= ladate1 Then
If CelSource(0) <= ladate2 Then
TabloOK = True
f = f + 1
ReDim Preserve Tablo(1 To 5, 1 To f)
Tablo(1, f) = CelSource(0)
Tablo(2, f) = CelSource(1)
Tablo(3, f) = CelSource(2)
Tablo(4, f) = CelSource(3)
Tablo(5, f) = CelSource(4)
End If
End If
Next Cel
End With
suite:
ActiveWindow.Close SaveChanges:=False
If TabloOK = True Then Range(Cells(derligne2, 1), Cells(derligne2 + f - 1, 5)).Value = _
Application.WorksheetFunction.Transpose(Tablo)
Temp = Dir
Loop
MsgBox "Les données sont transférées"
Application.ScreenUpdating = True
Je met en pièce jointe le fichier excel et le fichier csv. Pour faire l'importation les deux doivent être dans le meme dossier.
Merci de votre aide!
Robin