Bonjour,
Une proposition à étudier..
Il faut faire attention aux espaces indésirables !...
Cdlt.
Public Sub ConvertDates()
Dim tbl As Variant
Dim lastRow As Long, I As Long
Dim x As String, y As String, z As String
With ActiveSheet
lastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
tbl = .Cells(2, 1).Resize(lastRow - 1)
For I = LBound(tbl) To UBound(tbl)
x = Replace(Trim(tbl(I, 1)), ",", "")
y = VBA.Split(x)(1)
z = MatchUp(y)
tbl(I, 1) = CDate(Replace(x, y, z))
Next I
.Cells(2, 1).Resize(UBound(tbl)).Value = tbl
.Cells(1).CurrentRegion.Sort Key1:=.Cells(2, 1), Header:=xlYes
End With
End Sub
Private Function MatchUp(txt) As String
MatchUp = Switch(txt = "Jan", "janv", txt = "Feb", "févr", txt = "Mar", "mars", _
txt = "Apr", "avr", txt = "May", "mai", txt = "Jun", "juin", _
txt = "jul", "juil", txt = "Aug", "août", txt = "Sep", "Sept", txt = "Dec", "Déc")
End Function