Private Sub Workbook_Open()
Dim DerSuppr As String, Asuppr As Boolean, rep, sh
On Error Resume Next
DerSuppr = Replace(ActiveWorkbook.Names("DateSuppr"), "=", "")
On Error GoTo 0
If DerSuppr = "" Then
Asuppr = MsgBox("pas de trace d'une ancienne suppression" & vbLf & vbLf & _
"Doit-on supprimer les feuilles 'CR nnn' ?", _
vbQuestion + vbYesNo + vbDefaultButton2) = vbYes
Else
Asuppr = Format(Date, "yyyymm") > DerSuppr
End If
If Asuppr Then
Application.DisplayAlerts = False: Application.ScreenUpdating = False
For Each sh In ThisWorkbook.Sheets
If LCase(sh.Name) Like "cr#*" Then
If ThisWorkbook.Sheets.Count = 1 Then
ThisWorkbook.Worksheets.Add
ThisWorkbook.ActiveSheet.Name = "XXX"
End If
sh.Delete
End If
Next sh
ThisWorkbook.Names.Add Name:="DateSuppr", RefersToR1C1:=Format(Date, "yyyymm"), Visible:=False
End If
Application.DisplayAlerts = True
End Sub