Nom d'une feuille XL imposé par macro

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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:
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
 
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:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
800
Réponses
4
Affichages
580
Retour