Private Sub Workbook_Open()
RenommerOnglet
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
RenommerOnglet Sh
End Sub
Sub RenommerOnglet(Optional xsh)
Dim x
On Error GoTo NOK
If IsMissing(xsh) Then
For Each x In ThisWorkbook.Worksheets
x.Name = x.Range("e3")
Next x
Else
Set x = xsh
x.Name = x.Range("e3")
End If
Exit Sub
NOK:
MsgBox "Impossible de renommer la feuille : <" & x.Name & ">" & vbLf & vbLf & _
"avec le nom <" & x.Range("e3") & ">", vbCritical
Resume Next
End Sub