Bonjour,
J'ai problème avec les dates lors de l'import de fichiers .csv via vba.
En effet, les jours et les mois sont intervertis dans mes colonnes dates ex: j'ai "03/01/2011" au lieu de "01/03/2011"
J'ai l'impression qu'à l'ouverture des fichiers .csv, vba n'interprete pas du tout mes colonnes comme des dates.
Comment y remédier ??? ci-joint le code que j'utilise:
Merci d'avance pour votre aide.
J'ai problème avec les dates lors de l'import de fichiers .csv via vba.
En effet, les jours et les mois sont intervertis dans mes colonnes dates ex: j'ai "03/01/2011" au lieu de "01/03/2011"
J'ai l'impression qu'à l'ouverture des fichiers .csv, vba n'interprete pas du tout mes colonnes comme des dates.
Comment y remédier ??? ci-joint le code que j'utilise:
Sub importFichiersTextesRepertoire()
Dim Fichier As String, Direction As String
Dim Ws As Worksheet
Dim ligneTxt As String
Dim i As Integer, x As Integer
Dim Tableau() As String
Dim Madate As String
'Ouverture nouveau classeur
Workbooks.Add
'Formate la date "yyyy - mm"
Madate = "Règlements XXX" & "_" & Year(Date) & "-" & Month(Date)
'Répertoire de stockage des fichiers txt
Direction = "V:\Statistiques\Stat_reglements\XXX\" 'adapter le nom du répertoire
Application.ScreenUpdating = False
Fichier = Dir(Direction & "*.csv")
Do While Fichier <> "" 'boucle sur tous les fichiers csv du repertoire
i = 0
Set Ws = ActiveWorkbook.Sheets.Add 'ajout d'une feuille pour importer les données
ActiveSheet.Name = Split(Fichier, "_", -1)(1) 'définit la nom de l'onglet
Open Direction & Fichier For Input As #1 'ouverture fichier csv pour récupération infos
Do While Not EOF(1) 'boucle sur toutes les lignes du fichier csv
Line Input #1, ligneTxt
i = i + 1
Tableau = Split(ligneTxt, ";") 'dans cet exemple le séparateur est le point virgule
For x = 0 To UBound(Tableau)
Ws.Cells(i, x + 1) = Tableau(x)
Next
Loop
Close #1
Set Ws = Nothing
Fichier = Dir
Loop
Application.ScreenUpdating = True
'Suppression des feuilles vides
Sheets(Array("Feuil1", "Feuil2", "Feuil3")).Select
ActiveWindow.SelectedSheets.Delete
'Classement des onglets par odre alphabétique
Sheets("BDF").Move Before:=Sheets(1)
Sheets("CAL").Move Before:=Sheets(2)
Sheets("GME").Move Before:=Sheets(3)
Sheets("KAR").Move Before:=Sheets(4)
'Sauvegarde du fichier
ActiveWorkbook.SaveAs Filename:=Direction & Madate & ".xls" _
End Sub
Merci d'avance pour votre aide.