Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim NomFeuille As String
NomFeuille = "Type " & [C4] & " - Lot " & [D4]
' Vérifie le nombre de caractère du nom de la feuille
' Si >31, ajoute le n° d'index après les 29 premiers caractères
If Len(NomFeuille) > 31 Then
NomFeuille = Left(NomFeuille, 22) & "... - " & Format(ActiveSheet.Index, "00")
End If
' Vérifie si le nom de la feuille existe dans le classeur
' Si oui, extrait les 29 premiers caractères et ajoute le n° d'index
For Each sh In Sheets
If sh.Name = NomFeuille Then
If Len(NomFeuille) > 31 Then
NomFeuille = Left(NomFeuille, 22) & "... - " & Format(ActiveSheet.Index, "00")
End If
If Len(NomFeuille) < 31 Then
NomFeuille = Left(NomFeuille, 25) & " - " & Format(ActiveSheet.Index, "00")
End If
End If
Next
' Renomme la feuille
ActiveSheet.Name = NomFeuille
End Sub