Bonjour à tous (deuxième fois de la journée ),

J'avais réalisé il y a quelques temps une macro que j'avais laissé de coté et je viens de me replonger dedans.

Cette macro à pour but de compiler dans un classeur des données en provenance de multiples fichiers CSV.
Ces fichier CSV sont construits de cette manière :

Nom : Exemple2.jpg
Affichages : 204
Taille : 110,8 Ko

La copie des données vers ma feuille principale se passe bien sauf que mes dates subissent une inversion entre le jour et le mois. Au lieu d'avoir jj/mm/aaaa j'obtiens mm/jj/aaaa une fois l'ensemble des fichiers compilés.

Voici le code concerné :

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 
 
For i = 1 To deltajour
 
MyDate = DateAdd("d", 1, MyDate) 
fichier = Format(MyDate, "yyyymmdd") 
 
    'Ouvre le fichier à consolider
    Set Wb = Workbooks.Open(chemin & fichier & "-" & fichier2 & extension)
    MsgBox (chemin & fichier & " - " & fichier2 & extension) 'Verification de la valeur retournée
 
    'Sélectionne la feuille où se trouvent les données
    Sheets(1).Select
    MsgBox (Range("A2"))
 
    For j = 1 To 1000
    Cells(i, 1) = maDateStr
    Cells(i, 1).Value = CDate(maDateStr)
    Next j
 
 
    MsgBox (Range("A2"))
 
    'Compte le nombre de lignes à copier
    n = WorksheetFunction.CountA(Range("A:A"))
 
    'Compte le nombre de colonnes à copier
    m = ActiveSheet.UsedRange.Columns.Count
 
    'Copie les données
    Range(Cells(2, 1), Cells(n, m)).Copy
 
    'Active le classeur de synthèse
    Workbooks("Traitement_données.xlsm").Activate
 
    'Sélectionne la feuille où on va coller les données
    Sheets(1).Select
 
    'Compte le nombre de lignes non vides et ajoute 1 pour avoir le numéro de la première ligne vide
    c = WorksheetFunction.CountA(Range("A:A")) + 1
 
    'Sélectionne la première cellule vide
    Range("A" & c).Select
 
    'Colle les données
    ActiveSheet.Paste
 
    Application.CutCopyMode = False
 
    'Ferme la base de données qui a été consolidée et passe à la suivante
    Wb.Close False
 
Next i
 
End Sub
J'essaye donc de forcer la date à rester dans un format français via la boucle (notement avec le CDate...)


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 For j = 1 To 1000
    Cells(i, 1) = maDateStr
    Cells(i, 1).Value = CDate(maDateStr)
 Next j
incluse dans la première boucle for mais j'obtiens une erreur "Erreur d'éxcécution '13': Incompatibilité de type"

J'ai cherché pas mal de solutions sur internet et je dois avouer que je désespéré un peu... (j'ai également tenté pas mal d'autres solutions sans succès également...)

Je sollicite donc à nouveau votre aide

Merci d'avance !
Alex.