Renommer un onglet avec un mot dans une autre feuille

ryulair

XLDnaute Nouveau
Bonjour à tous, j'ai un petit soucis, j'ai trouvé la formule suivante sur le web mais je n'arrive pas à l'adapter à ce que je veux faire.

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B13")) Is Nothing Then
ActiveSheet.Name = Target
End If
End Sub

Mon problème étant que l'entrée de donné B13 n'est pas sur la même feuille, en gros ce code sera inscrit dans la partie programmation d'un onglet mais la référence qui sera son nom est dans un autre onglet.

J'aimerais savoir si quelqu'un pourrait m'aider à modifier ce code pour qu'il fasse référence à une autre feuille?

Merci d'avance et bonne journée
 

eriiic

XLDnaute Barbatruc
Re : Renommer un onglet avec un mot dans une autre feuille

Bonjour,

Un range est un objet qui fait référence à une cellule ou à une plage.

Et ce n'est pas :
If Not Intersect(Target, Range("B13")) Is Nothing
qui produit l'erreur, mais :
If Intersect(Target, Range("B13")) Is Nothing Then Feuil1.Name = Target
plus particulièrement : Feuil1.Name = Target

Il faut aussi lire le libellé de l'erreur : 'Nom non valide'
Si target est vide ou contient un caractère interdit pour les noms des feuilles tu as cette erreur.
Si tu juges nécessaire d'alerter l'utilisateur il faut traiter l'erreur avec un On Error Goto (recherche les tutos sur la gestion d'erreur) et éventuellement arrêter le traitement. Si c'est normal que ça arrive et que ça ne gène pas le déroulement du programme tu laisses le Resume Next.
Tu peux aussi agir en amont et contrôler le contenu, la taille de target et ne traiter que si tout est conforme.

eric
 

Discussions similaires

Statistiques des forums

Discussions
312 677
Messages
2 090 807
Membres
104 671
dernier inscrit
Guilbry