... on peut affecter ton code à un bouton sur la feuille plutot qu'a l'acces rapide ?
Oui.
Quant au nom de l'onglet :
Option Explicit
Sub NouvelOnglet()
Dim I As Integer
Dim TabMois As ListObject
Dim LigneMois As ListRow
Dim MoisACreer As String
Dim LibelleMois As Variant
MoisACreer = Sheets("modele").Range("E2")
LibelleMois = Join(Split(MoisACreer, "/"), "-")
If PresenceOnglet(LibelleMois) = True Then
MsgBox "Onglet déjà créé !", vbCritical
Exit Sub
End If
If MoisACreer <> "" Then
Sheets("modele").Copy after:=Sheets("modele")
With ActiveSheet
.Name = LibelleMois
.Range("E2").Validation.Delete
End With
Set TabMois = Sheets("Paramètres").ListObjects("t_Mois")
With TabMois
For I = 1 To .DataBodyRange.Count ' In TabMois.ListRows
If .DataBodyRange(I) = MoisACreer Then .DataBodyRange(I).Delete
Next I
End With
With Sheets("modele")
.Range("E2") = TabMois.DataBodyRange(1)
.Activate
End With
End If
End Sub