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