Private Sub UserForm_Initialize()
Dim i As Integer
Dim DateJour As String
For i = 21 To Worksheets.Count
Worksheets(i).Visible = True
Next i
'Toutes les feuilles des fiches de suivi sont visibles
For i = 0 To 5
DateJour = StrConv(Format(Date - i, "dddd dd mmmm yyyy"), vbProperCase)
ListeDates.AddItem (DateJour)
Next i
End Sub
Private Sub CommandButtonOK_Click()
If Not Usfdate.ListeDates.Value = "" Then
MsgBox "Jour choisit : " & Usfdate.ListeDates.Value, vbOKOnly + vbInformation, "Ouverture d'une nouvelle fiche"
Sheets("Fiche").Range("G6") = Usfdate.ListeDates.Value
Sheets("Fiche").Copy After:=Sheets(Sheets.Count)
'Ajoute une copie de la feuille "Fiche" à la fin du classeur.
On Error GoTo S 'Si une erreur se produit dans la ligne qui _
suit, elle est ignorée, et l'exécution continue à la ligne _
suivante après le traitement de l'erreur (ligne S).
Sheets(Sheets.Count).Name = Usfdate.ListeDates.Value
'...renomme la feuille créée avec la date choisit
'Si ce nom existe déjà dans le classeur, une erreur se produit. Grâce à la ligne précédente cette erreur _
est ignorée et l'exécution du code continue.
E: On Error GoTo 0 'A partir d'ici, les éventuelles erreurs ne sont plus ignorées.
Exit Sub
'Suppression de la feuille créée si une erreur survient.
S: With Application: .DisplayAlerts = False: Sheets(Sheets.Count).Delete: .DisplayAlerts = True: End With
Resume Next
Sheets("Fiche").Range("G7").UnMerge
Sheets("Fiche").Range("G7").ClearContents
Sheets("Fiche").Range("G7:H7").Merge
Sheets("Fiche").Range("G6").UnMerge
Sheets("Fiche").Range("G6").ClearContents
Sheets("Fiche").Range("G6:H6").Merge
Else
MsgBox "Veuillez sélectionner une date", vbOKOnly + vbInformation, "ERREUR "
End If
End Sub