luke3300
XLDnaute Impliqué
Bonjour le forum,
Je bloque sur l'utilisation d'un code pour extraire et convertir des données de plusieurs fichiers csv et les grouper dans un xlsm.
J'utilise ce code pour extraire et grouper les données:
Et voici une ligne d'exemple de données qui se trouvent dans les fichiers csv (toutes les lignes des fichiers sont semblables au niveau de la structure):
10063- DS / 13965- DM BRX / 10288- BA / 10359- NIV,,1XGD183,1XGD183,4615,10063- 10063- DS / 13965- DM BRX / 10288- BA / 10359- NIV,,BGOOD Jhonny,,16592,, 2915233208541566497,Road Speed Overspeeding,Détail,05-07-21,01:13:44,05-07-21,01:13:47,CEST,1,"50,59",km/h,50,,00:00:03,"50.157,39","50.157,43",Contournement Sud,[INCONNU],Contournement Sud,[INCONNU],,,"50.59223 , 4.30752","50.59186 , 4.30766","0,000","0,0"
Le tout fonctionne correctement sauf qu'au bout du compte, je me retrouve avec un mauvais format de date dans les colonnes 15 et 17 du fichier xlsm. Celles-ci qui au départ dans les csv sont bien sous DMY se retrouvent sous MDY et donc ça m'impose à chaque fois de remplacer toutes ces données.
Je ne comprends absolument pas pourquoi le fait d'extraire et de grouper ces données impacte le format des dates dans le résultat.
Quelqu'un pourrait-il m'éclairer sur ce que je dois faire pour résoudre ce problème?
Que dois-je changer ou ajouter au code actuel pour que les dates, une fois extraite, soient sous format DMY (jour, mois, année)?
Merci d'avance et belle journée à tous.
Je bloque sur l'utilisation d'un code pour extraire et convertir des données de plusieurs fichiers csv et les grouper dans un xlsm.
J'utilise ce code pour extraire et grouper les données:
VB:
Sub ImportDonnees()
Dim Chemin As String, Fichier As String
Dim Ws As Worksheet
Dim Ligne As Long
Application.ScreenUpdating = False
Set Ws = Sheets("Feuil1")
Ws.Columns("A:AK").ClearContents
Chemin = ThisWorkbook.Path & Application.PathSeparator
Ligne = 1
Fichier = Dir(Chemin & "*.csv")
Do While Fichier <> ""
With Workbooks.Open(Chemin & Fichier)
With .Sheets(1)
.Range("A2:AK" & .Range("A" & Rows.Count).End(xlUp).Row).Copy Ws.Range("A" & Ligne)
End With
.Close savechanges:=False
End With
Ligne = Ws.Range("A" & Rows.Count).End(xlUp).Row + 1
Fichier = Dir
Loop
Ws.Columns("A").TextToColumns DataType:=xlDelimited, Tab:=False, Semicolon:=True, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, xlMDYFormat), Array(5, xlMDYFormat))
End Sub
Et voici une ligne d'exemple de données qui se trouvent dans les fichiers csv (toutes les lignes des fichiers sont semblables au niveau de la structure):
10063- DS / 13965- DM BRX / 10288- BA / 10359- NIV,,1XGD183,1XGD183,4615,10063- 10063- DS / 13965- DM BRX / 10288- BA / 10359- NIV,,BGOOD Jhonny,,16592,, 2915233208541566497,Road Speed Overspeeding,Détail,05-07-21,01:13:44,05-07-21,01:13:47,CEST,1,"50,59",km/h,50,,00:00:03,"50.157,39","50.157,43",Contournement Sud,[INCONNU],Contournement Sud,[INCONNU],,,"50.59223 , 4.30752","50.59186 , 4.30766","0,000","0,0"
Le tout fonctionne correctement sauf qu'au bout du compte, je me retrouve avec un mauvais format de date dans les colonnes 15 et 17 du fichier xlsm. Celles-ci qui au départ dans les csv sont bien sous DMY se retrouvent sous MDY et donc ça m'impose à chaque fois de remplacer toutes ces données.
Je ne comprends absolument pas pourquoi le fait d'extraire et de grouper ces données impacte le format des dates dans le résultat.
Quelqu'un pourrait-il m'éclairer sur ce que je dois faire pour résoudre ce problème?
Que dois-je changer ou ajouter au code actuel pour que les dates, une fois extraite, soient sous format DMY (jour, mois, année)?
Merci d'avance et belle journée à tous.
Dernière édition: