Sub CSV()
Dim chemin$, fichier$, ncol%, tablo, a(), i&, dat, j%
chemin = ThisWorkbook.Path 'dossier à adapter
fichier = "\Fichier CSV.csv" 'nom à adapter
With Feuil2.[A1].CurrentRegion 'matrice, plus rapide
ncol = .Columns.Count
If ncol = 1 Then ncol = 2
tablo = .Resize(, ncol)
End With
ReDim a(1 To UBound(tablo), 1 To ncol + 2)
For i = 1 To UBound(tablo)
dat = tablo(i, 1)
If IsDate(dat) Then
a(i, 1) = Day(dat)
a(i, 2) = Month(dat)
a(i, 3) = Year(dat)
End If
For j = 4 To ncol + 2
a(i, j) = tablo(i, j - 2)
Next j, i
'---création du fichier CSV---
Application.ScreenUpdating = False
Application.DisplayAlerts = False 'si le fichier CSV a déjà été créé
With Workbooks.Add(xlWBATWorksheet) 'nouveau document
.Sheets(1).[A1].Resize(UBound(a), ncol + 2) = a
.SaveAs chemin & fichier, xlCSV, Local:=True 'enregistrement
.Close 'fermeture
End With
MsgBox "Le fichier CSV a été créé..."
End Sub