Private Sub Workbook_Open()
Dim O As Worksheet, C As Range 'O variable d’onglet, C variable de cellule
'parcourt tous les onglets
For Each O In Sheets
On Error Resume Next 'évite le message d’erreur s’il n’y a aucune formule
'parcourt toutes les cellules contenant une formule
For Each C In O.Cells.SpecialCells(xlCellTypeFormulas)
If IsDate(C) Then C = C.Value 'si c’est une date, remplace la formule par la valeur
Next
Next
End Sub