Sub Jolivanes_Mod()
Dim newName As String, pw As String, wb As Workbook, sh As Worksheet
Dim bHasPwd As Boolean
Application.ScreenUpdating = False
Application.EnableEvents = False
Set wb = ThisWorkbook
pw = "123" '<---- Change required
newName = ThisWorkbook.Path & "\" & Left(wb.Name, InStrRev(wb.Name, ".") - 1) & Year(Now) & Format(Month(Now), "00") & Format(Day(Now), "00") '& ".xlsx" ', FileFormat:=51
wb.Worksheets.Copy
For Each sh In ActiveWorkbook.Worksheets
bHasPwd = False
If sh.ProtectContents Then bHasPwd = True
sh.Unprotect pw
sh.UsedRange.Value = sh.UsedRange.Value
If bHasPwd Then sh.Protect pw
Next sh
With ActiveWorkbook
.SaveAs newName & ".xlsx", 51
.Close True
End With
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub