Bonjour,
Une piste, procédure qui peut être appelée dans Workbook_Open() mais qui peut être testée directement (touche F5) :
Sub Test()
Dim Fe As Worksheet
Dim I As Integer
'cherche si la feuille a déjà été créée, si oui, fin
For Each Fe In Worksheets
If Fe.Name = Format(Date, "mmmm") Then Exit Sub
Next Fe
'la feuille n'existe pas, on la créée
If Day(Date) >= 1 Then
'en fin de collection
Set Fe = Worksheets.Add(, Sheets(Sheets.Count))
'on lui donne le nom du mois en cours
Fe.Name = Format(Date, "mmmm")
'paramétrage de la feuille...
With Worksheets("Formulaire")
'copie de la zone utilisée de la feuille "Formulaire" dans la nouvelle feuille
.UsedRange.Copy Fe.Range("A1")
'adapte la largeur des colonnes
For I = 1 To .UsedRange.Columns.Count
Fe.Columns(I).ColumnWidth = .Columns(I).ColumnWidth
Next I
'de même pour les lignes
For I = 1 To .UsedRange.Rows.Count
Fe.Rows(I).RowHeight = .Rows(I).RowHeight
Next I
'défini la zone de travail
Fe.ScrollArea = .ScrollArea
End With
End If
End Sub