Comment renommer tous le onglets a partir d'une cellule texte différente ds chaque on

balajol

XLDnaute Nouveau
Bonjour,
J'utilise la macro suivante:
Sub ren_onglet()
ActiveSheet.Name = Range("E1")
End Sub
Pour renommer chaque onglet avec le contenu de la cellule E1 de chaque feuille mais cela m'oblige à activer chaque onglet les uns après les autres.
Est il possible d'effectuer la même chose sur tout le classeur en une seule commande?
(la valeure de E1 est différent sur chaque feuille)
Au cas ou.. ces valeures sont aussi présentes sur une premiere feuille appelée "Données",
en B13 Nom a donner à l'onglet 1
en B14 .............................. 2
et ce jusque B20 pour l'onglet 8
je voudrai donc lancer une macro de cette premiere feuille "Données" pour renommer toutes les feuillels du classeur.
En espérant ne pas avoir été trop long et remerciant toute personne ayant la gentillesse d'aider le débutant en VBA que je suis.
B.
 
Dernière édition:

kllmoon

XLDnaute Occasionnel
Re : Comment renommer tous le onglets a partir d'une cellule texte différente ds chaq

Sub ren_onglet()
ActiveSheet.Name = Range("E1")
Sheets("feuille2").Select
ActiveSheet.Name = Range("E1")
Sheets("feuille3").Select
ActiveSheet.Name = Range("E1")
Sheets("feuille4").Select
ActiveSheet.Name = Range("E1")
etc.
Sheets("Données").Select
End Sub

Je ne sais pas combien de feuilles tu as mais ceci me semble assez simple comme solution.
 

kjin

XLDnaute Barbatruc
Re : Comment renommer tous le onglets a partir d'une cellule texte différente ds chaq

Bonjour,
Essaie comme ceci (renomme toutes les feuilles sauf "Données")
Code:
Sub renome()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Sheets
If ws.Name <> "Données" Then ws.Name = CStr(ws.Range("E1"))
Next
End Sub
A+
kjin
 

balajol

XLDnaute Nouveau
Re : Comment renommer tous le onglets a partir d'une cellule texte différente ds chaq

Merci à tous,
La solution de Kjin répond parfaitement à mon problème, étant donné que le nom des feuilles est différent à chaque fois.
Merci encore de votre aide.
B
 

SOYA

XLDnaute Occasionnel
Re : Comment renommer tous le onglets a partir d'une cellule texte différente ds chaq

Bonjour,
Essaie comme ceci (renomme toutes les feuilles sauf "Données")
Code:
Sub renome()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Sheets
If ws.Name <> "Données" Then ws.Name = CStr(ws.Range("E1"))
Next
End Sub
A+
kjin

Bonjour,

Quelqu'un peut-il me dire ce que "CStr" signifie dans ce code ?

Je l'ai recopié dans mon classeur car je voudrais m'en servir, mais à chaque feuille, même si le contenu de ma cellule B2 devient le nom de l'onglet, j'ai un message de débogage, et c'est la partie ws.Name = CStr(ws.Range("B2") qui est surlignée en jaune... Je ne connais pas assez VBA pour me dépatouiller toute seule.:eek:

Merci !
 
Dernière édition:

vbacrumble

XLDnaute Accro
Re : Comment renommer tous le onglets a partir d'une cellule texte différente ds chaq

Bonjour à tous


SOYA
Cstr (le plus simple voir dans l'aide de VBA , touche F1)


Sinon Cstr= convertit en string ;)

Les fonctions ci-dessous convertissent une expression en un type de données spécifique.

Fonction___Type renvoyé
CStr_______String (Les valeurs renvoyées par la fonction Cstr dépendent de l'argument )expression.
 
Dernière édition:

SOYA

XLDnaute Occasionnel
Re : Comment renommer tous le onglets a partir d'une cellule texte différente ds chaq

Merci Crumble !

Est-ce qu'au lieu d'utiliser CStr, j'aurais pu mettre au début de mon code :

Dim Onglet as String

Onglet = Range("B2")

? Ou ça n'est pas adapté dans ce cas ?

:)
 

Statistiques des forums

Discussions
312 432
Messages
2 088 375
Membres
103 835
dernier inscrit
Jaco24