Sub Décomposition()
Dim Cel As Range, Chaine$, V$, i%
Application.ScreenUpdating = False
For Each Cel In Range("A2:A" & Cells(Rows.Count, "A").End(xlUp).Row)
Chaine = ""
With Cel
V = .Value
If Not IsDate(V) Then ' Si ce n'est pas une date on supprime tout ce qui est différent d'un chiffre ou d'un espace ou de "/" ou ":"
For i = 1 To Len(V)
carac = Mid(V, i, 1)
If IsNumeric(carac) Or carac = " " Or carac = "/" Or carac = ":" Then
Chaine = Chaine & carac
End If
Next i
Else
Chaine = V
End If
If IsDate(Chaine) Then 'A savoir que tout nombre peut être considéré comme une date
.Offset(, 2) = Day(Chaine)
.Offset(, 3) = Month(Chaine)
.Offset(, 4) = Year(Chaine)
.Offset(, 5) = Format(Chaine, "hh:mm")
End If
End With
Next Cel
End Sub