Sub NomFeuille2()
Dim NumEleve As Integer, NbHomonymes As Integer
Dim ShtS As Worksheet
' Définir le nom de la feuille de saisie
Set ShtS = Sheets("Saisie")
' En Cas d'erreur on continue
On Error Resume Next
' Pour l'ensemble des élèves
For NumEleve = 1 To 32
' Si la cellule nom est vide
If IsEmpty(ShtS.Range("B" & 2 + NumEleve)) Then
' nommer la feuille : "Nom " + Numéro élève
Worksheets(14 + NumEleve).Name = "Nom " & Format(NumEleve, "00")
Else
' Compter le nombre de nom identique
NbHomonymes = 1
NbHomonymes = Application.WorksheetFunction.CountIf(ShtS.Range("B:B"), ShtS.Range("B" & 2 + NumEleve))
' Si il n'existe pas d'autres noms similaires
If NbHomonymes = 1 Then
' Nommer la feuille avec le nom de l'élève
Worksheets(14 + NumEleve).Name = ShtS.Range("B" & 2 + NumEleve)
Else
' Nommer la feuille avec le nom + le prénom de l'élève
Worksheets(14 + NumEleve).Name = ShtS.Range("B" & 2 + NumEleve) & " " & ShtS.Range("C" & 2 + NumEleve)
End If
' Remettre à zéro l'erreur au cas ou
Err.Clear
End If
Next NumEleve
' Réactiver la gestion d'erreur
On Error GoTo 0
End Sub