Sub dateMoisAnnee()
Const Mois = "ja,f,mar,av,mai,juin,juil,ao,se,oc,no,d"
Dim deb!, der&, tmois, t, i&, k&, x, s
deb = Timer
Application.ScreenUpdating = False
With ActiveSheet
If .FilterMode Then .ShowAllData
der = .Cells(Rows.Count, "a").End(xlUp).Row
t = Range("a2:a" & der).Value
tmois = Split(Mois, ",")
ReDim Preserve t(1 To UBound(t), 1 To 2)
For i = 1 To UBound(t)
x = Application.Trim(Replace(Replace(t(i, 1), """", ""), ".", ""))
t(i, 1) = Empty
s = Split(LCase(x))
For k = LBound(tmois) To UBound(tmois)
If s(1) Like tmois(k) & "*" Then Exit For
Next k
If k <= UBound(tmois) Then
t(i, 1) = Format(DateSerial(s(2), k + 1, 1), "mmmm")
t(i, 2) = Format(DateSerial(s(2), k + 1, 1), "yyyy")
End If
Next i
.Range("b2:c" & Rows.Count).Clear
.Range("b2:c2").Resize(UBound(t)) = t
End With
MsgBox Format((Timer - deb) * 1000, "#,##0\ millisec. pour ") & Format(UBound(t), "#,##0 lignes traitées")
End Sub