Bonjour,
Il manque quelques précisions alors je vais donner une réponse à titre d'exemple :
Sub Renommer()
interdits = "[[/\?*]"
With ActiveSheet
If .Range("A1").Value <> "" Then
If Len(.Range("A1").Value) <= 31 Then
If Not (.Range("A1").Value Like "*" & interdits & "*" Or .Range("A1").Value Like "*]*") Then
.Name = Application.Trim(Application.Clean(.Range("A1").Value))
Else
MsgBox "Echec à cause de caractères interdits", vbCritical, "Erreur"
End If
Else
MsgBox "Echec à cause d'un nom supérieur à 31 caractères", vbCritical, "Erreur"
End If
Else
MsgBox "Echec : cellule vide", vbCritical, "Erreur"
End If
End With
End Sub
La feuille active prend le nom de sa cellule A1.
Cdlt,