Nom d'une feuille XL imposé par macro

Fredrennes

XLDnaute Junior
Bonjour,

J'ai un bout de code qui est le suivant :

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
For Each sht In ActiveWorkbook.Worksheets
Sheets(sht.name).name = Sheets(sht.name).["Agence_"&B2]
Next
End Sub

Ce bout de code me permet de nommer chaque feuille en fonction de la saisie dans la cellule B2. Mon problème est que ma macro s'applique à toutes les feuilles du classeur (normal puisque je précise dans le code for each sht)....je souhaiterais que la dernière feuille du classeur ne soit pas soumise à cette macro pour lui affecter un nom définitif, comment faire ? Actuellement je nomme cette feuille mais ce nom est modifié qq secondes plus tard sous l'effet de la macro...

Merci beaucoup
Cordialement
 

Gruick

XLDnaute Accro
Re : Nom d'une feuille XL imposé par macro

Bonjour,
Tu fais un test sur le nom que tu as donné et tu exclues ce nom de la modif.
du genre :
if worksheets.name = "le nom donné", then exit sub.
c'est ce qui semble le plus simple.
A plus,
Gruick

PS : Hello PierreJean, heureux de te croiser
 
Dernière édition:

Fredrennes

XLDnaute Junior
Re : Nom d'une feuille XL imposé par macro

En fait j'ai toujours le même problème, j'ai modifié le code tel que :

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
For Each sht In ActiveWorkbook.Worksheets
If sht <> Sheets(Sheets.Count) Then Sheets(sht.Name).Name = Sheets(sht.Name).["Agence_"& B2]
Next
End Sub

Est-ce bien cela que je dois écrire ?

Merci
 

pierrejean

XLDnaute Barbatruc
Re : Nom d'une feuille XL imposé par macro

Re

La derniere feuille est Sheets(Sheets.count)

Si sht n'est pas la derniere feuille on renomme

Edit

Il y avait effectivement une erreur

Teste:

Code:
For Each sht In ActiveWorkbook.Worksheets
 If sht.Name <> Sheets(Sheets.Count).Name Then Sheets(sht.Name).Name = Sheets(sht.Name).["Agence_"& B2]
Next

Note: Le on error resume Next n'est pas utile !!
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
176