Renommer automatiquement les feuilles d'un classeur Excel
Bonjour
Mon tableur fonctionne comme je le souhaite, et cela grâce à vous.
Cependant, il y a une chose qui me chiffonne. Dans ma feuille "Listing", lorsque je rentre les noms de mes 30 élèves, les feuilles qui suivent se renomment bien avec les noms et prénoms de chacun d'entre eux. Mais apparaît à côté de chaque nom d'élève un chiffre entre parenthèse. Un peu comme une sorte de numéro de copie...
Est-il possible de faire disparaître ce chiffre ?
Mon tableau en pièce jointe.
Merci d'avance.
Fred
Bonjour,
C'est ta macro qui ajoute ce n°
Private Sub Worksheet_Activate()
Dim i As Integer
On Error Resume Next ' s'il y a une erreur, continue
With ActiveSheet
For i = 1 To Worksheets.Count ' passera en revue tous les noms de feuille
If Worksheets(v).Name = .Cells(2, 2) & " " & .Cells(3, 2) Then ' si un nom existe
.Name = .Cells(2, 2) & " " & .Cells(3, 2) & "(" & i & ")" ' ajoute le numéro de la feuille
Else ' si non
.Name = .Cells(2, 2) & " " & .Cells(3, 2) ' renomme la feuille
End If
Next i ' pour boucler sur la prochaine feuille
End With
End Subenlève la ligne (mais elle devait bien servir à quelquechose ??) dans toutes les feuilles !! je pense qu'il vaut mieux restructurer et renvoyer vers une fonction unique ...
Private Sub Worksheet_Activate()
Dim i As Integer
On Error Resume Next ' s'il y a une erreur, continue
With ActiveSheet
For i = 1 To Worksheets.Count ' passera en revue tous les noms de feuille
If Worksheets(v).Name = .Cells(2, 2) & " " & .Cells(3, 2) Then ' si un nom existe
' ligne effacée = ... .Name = .Cells(2, 2) & " " & .Cells(3, 2) & "(" & i & ")" ' ajoute le numéro de la feuille
Else ' si non
.Name = .Cells(2, 2) & " " & .Cells(3, 2) ' renomme la feuille
End If
Next i ' pour boucler sur la prochaine feuille
End With
End Subje ne comprends pas non plus le v dans :
Worksheets(v)n'est-ce pas plutôt
Worksheets(i)et c'est de là que viendrait l'erreur ??
suggestion = ajouter option.explicit