Effectivement le nom d'une feuille est limitée à 31 caractères.
Les lignes qui gèrent les noms des feuilles sont :
If Cells(valueCell.Row, 1) = "x" Then
nameSheet = Cells(valueCell.Row, 5) & " architecture"
ElseIf Cells(valueCell.Row, 2) = "x" Then
nameSheet = Cells(valueCell.Row, 5) & " mécanique"
Else
nameSheet = Cells(valueCell.Row, 5) & " non choisis"
End If
à remplacer par pourquoi pas :
If Cells(valueCell.Row, 1) = "x" Then
nameSheet = Left(Cells(valueCell.Row, 5), 15) & " architecture"
ElseIf Cells(valueCell.Row, 2) = "x" Then
nameSheet = Left(Cells(valueCell.Row, 5), 15) & " mécanique"
Else
nameSheet = Left(Cells(valueCell.Row, 5), 15) & " non choisis"
End If
Maintenant seul les 15 premiers caractère du nom de projet sont utilisés.