Sub Convertir()
Dim tablo, i&, x$, dat As Date
With ActiveSheet.UsedRange
If Application.CountIf(.Columns(1), "*/*") = 0 Then Exit Sub 'si la macro a déjà été exécutée
Application.ScreenUpdating = False
.Replace ".", "." 'remplace le point par la virgule et convertit
.Columns(1).EntireColumn.Insert 'insère une colonne
.Cells(1, 0) = "Date"
tablo = .Columns(0).Resize(, 2) 'matrice, plus rapide
For i = 2 To UBound(tablo)
x = tablo(i, 2)
If IsDate(x) Then 'sécurité
dat = CDate(x)
tablo(i, 1) = Mid(dat, 7, 4) & Mid(dat, 4, 2) & Left(dat, 2)
x = Right(dat, 8)
If InStr(x, ":") = 0 Then x = 0
x = Format(Replace(x, ":", ""), "000000")
If Left(x, 1) = "0" Then x = "'" & x 'conserve les zéros non significatifs
tablo(i, 2) = x
End If
Next
.Columns(0).Resize(, 2) = tablo 'restitution
.Columns(0).Resize(, 2).AutoFit 'ajustement largeurs
End With
End Sub