Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Renommer l'onglet selon la valeur d'une cellule

chaelie2015

XLDnaute Accro
Bonsoir Forum
Je souhaite renomer la feuille active selon la donnée dans la cellule A3
Exemple : Si je saisie dans la cellule A3 charlie/2019/bel/002 , l'onglet active sera nomé" charlie/2019/bel/002" automatiquement.
Salutation
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir @chaelie2015,

Essayez le code suivant à placer dans le module de ThisWorkbook:
VB:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
   On Error GoTo err001
   If Not Intersect(Sh.Range("a3"), Target) Is Nothing Then Sh.Name = Replace(Target.Text, "/", "#")
   Exit Sub
err001:
   MsgBox "impossible de renommer la feuille '" & Sh.Name & "' en " & Target.Text
End Sub

NOTA : le caractère / est un caractère interdit dans les noms d'onglets. On a remplacé ce caractère par un dièse #
 
Dernière édition:

pilou010

XLDnaute Occasionnel
Bonjour à tous,
Je me suis servi du code proposé par mapomme qui fonctionne très bien.
Par contre est-il possible que le nom de la feuille soit composé du contenu de 2 cellules séparer par un texte ?

Par exemple : "contenu de la cellule A1" - "de" - "contenu de la cellule A2"
J'ai fait un essai avec & comme si c'était concaténer mais cela ne fonctionne pas

Merci de votre aide
 
Dernière édition:

pilou010

XLDnaute Occasionnel
Bonjour,
Suite à mon précédent post

Le code de départ :
If Not Intersect(Sh.Range("a3"), Target) Is Nothing Then Sh.Name = Replace(Target.Text, "/", "#")

Mes essais :
If Not Intersect(Sh.Range("a2"&"de"&"a3"), Target) Is Nothing Then Sh.Name = Replace(Target.Text, "/", "#")
If Not Intersect(Sh.Range("a2;a3"), Target) Is Nothing Then Sh.Name = Replace(Target.Text, "/", "#")
If Not Intersect(Sh.Range("a2";"a3"), Target) Is Nothing Then Sh.Name = Replace(Target.Text, "/", "#")
mais il manque un truc visiblement ?
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…