Sub Archiver()
    Dim Nomfeuille, FeuilleOrigine, Mois(), M%, Début%, Fin%
    On Error GoTo FinArchive
    Application.ScreenUpdating = False
    ' Nom de la nouvelle archive
    FeuilleOrigine = ActiveSheet.Name
    Nomfeuille = InputBox("Quel nom voulez vous donner à l'archive ?", vbYesNo)
    If Nomfeuille = "" Then Exit Sub
    ' Duplication de la feuille, renommage, copier coller valeur, et masquage.
    ActiveWorkbook.ActiveSheet.Copy After:=Worksheets(Worksheets.Count)
    ActiveSheet.Name = Nomfeuille
    [P30] = [P30].Value             ' Figeage de la valeur Course en P30
    [B1].Select
    ActiveSheet.Visible = 0
    ' On revient sur la feuille d'origine et on efface les données.
    Sheets(FeuilleOrigine).Select
    Mois = Array("JANVIER", "FEVRIER", "MARS", "AVRIL", "MAI", "JUIN", "JUILLET", "AOUT", "SEPTEMBRE", "OCTOBRE", "NOVEMBRE", "DECEMBRE", "FIN")
    For M = 0 To 11
        Nom = Mois(M)
        Début = Application.Match(Mois(M), [C:C], 0) + 2        ' Zone à effacer commence 2 lignes après le mois
        If M < 11 Then
            Fin = Application.Match(Mois(M + 1), [C:C], 0) - 1  ' et se termine 1 ligne avant le mois suivant
        Else
            Fin = 400                                           ' Si mois de décembre, pas de mois suivant donc Fin=400
        End If
        Range("D" & Début & ":K" & Fin).ClearContents
    Next M
    ' Message de fin
    MsgBox "Cette feuille a été archivée sous le nom de " & Nomfeuille & Chr(10) & " et a été masquée."
Exit Sub
FinArchive:
    ' Si le nom de l'archive existe déjà, alors erreur.
    MsgBox "Oups! petit souci, la feuille avec ce nom semble déjà exister."
End Sub