Option Explicit '1 fois en tête de module
Sub Copyrenameworksheet()
Dim NomFeuille As String
Dim ws As Worksheet
'
' Récupération du nom de la future feuille
NomFeuille = Trim(ActiveSheet.Range("A2").Text)
If NomFeuille = "" Then Exit Sub ' Annuler opération si nom vide
'
' La supprimer, ce qui lèvera une erreur si elle n'existe pas
On Error Resume Next
Application.DisplayAlerts = False
ThisWorkbook.Sheets(NomFeuille).Delete
Application.DisplayAlerts = True
On Error GoTo 0
'
' copie de la feuille active vers une nouvelle feuille
Set ws = ActiveSheet
ws.Copy After:=Worksheets(Sheets.Count)
ActiveSheet.Name = NomFeuille
'
' activation de la feuille qui était active avant la copie
ws.Activate
End Sub