Private Sub CommandButton1_Click()
Dim F As Worksheet, Num As Long, Nom As String
For Each F In ThisWorkbook.Worksheets
If IsNumeric(Replace(F.Name, "(Anc)", "")) Then ' Voir ci après pourquoi ne pas tenir compte de "(Anc)" dans le nom:
Num = Num + 1: Nom = Num
On Error Resume Next ' Le nouveau nom peut déjà être celui d'une feuille au delà, à renommer plus tard, donc :
ThisWorkbook.Worksheets(Nom).Name = Nom & "(Anc)"
On Error GoTo 0 ' Une feuille peut être renommée temporairement avec "(Anc)" à la fin.
F.Name = Nom
Application.EnableEvents = False
F.[A1].Value = Num
Application.EnableEvents = True
End If
Next F
End Sub