Bonjour
Un essai.
Si le "may" de ton exemple est une abréviation, il te faudra mettre des abréviations aux mois anglais de la variable Array.
Cela te convient-il ?
Sub RécupDate()
Dte = Mid(ActiveWorkbook.Name, 5, Len(ActiveWorkbook.Name) - 9)
Mois = Array("january", "february", "march", "april", "may", "june", "july", "august", "september", "november", "december")
i = 0
For Each M In Mois
If M = Left(Right(Dte, 8), 3) Then
Exit For
End If
i = i + 1
Next M
Dte = CDate(Replace(Dte, M, i + 1))
Cells(1, 1).Value = Dte
End Sub