Renommer automatiquement une feuille excel [Résolu/Fermé]

Signaler
Messages postés
2
Date d'inscription
jeudi 3 février 2011
Statut
Membre
Dernière intervention
3 février 2011
-
Messages postés
2
Date d'inscription
jeudi 3 février 2011
Statut
Membre
Dernière intervention
3 février 2011
-
Bonjour,

Je suis complètement novice en programmation... Je cherche à renommer automatiquement une feuille excel par un nom que j'aurais insérer dans une cellule du document excel. L'idée c'est d'avoir un tableau avec 10 cases, et 10 feuilles excel qui se renommeraient automatiquement en prenant le nom de chaque case à mesure qu'on rempli le tableau.

J'ai vraiment essayé de trouver la solution sur internet et copier coller des codes existants mais rien ne marche...

Merci d'avance pour votre aide!

Florence

A voir également:

4 réponses

Bonjour,

dans outils, macro, vba.
Tu sélectionnes ta feuille où figure tes noms et tu copies et colles ce code :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For feuille = 1 To Sheets.Count
i = 2 'je considères que ton premier nom de feuille est en 2è ligne, si c'est pas le ca,s mets une autre valeur pour i
nom = Cells(i, 2) 'je considère que ton nom de feuille est dans la ceulle située à la ligne i, colonne 2. Si tel n'est pas le cas, modifie le 2 par ton numéro de colonne.
Sheets(feuille).Name = nom
i = i + 1
Next
Loop
End Sub

rq : avant d'exécuter ce code, il faut impérativement que tes feuilles soient dans l'ordre défini comme tel, si ce n'est pas le cas, c'est plus difficile :
tu vas dans Outils, macro, vba et tu auras
sheets1(nomfeuille1)
sheets2(nomfeuille2)
....
sheets10(nomfeuille10)

ton tableau doit donc être
1 nomfeuille1
2 nomfeuille2
...
10 nomfeuille10
6
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Re,

j'ai fait des erreurs sur le code précédent :
utilises celui-ci :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
i = 2 'i = ton nom de feuille commences à la 2ème ligne
a = 1
Do While Cells(i, 2) <> ""
nom = Cells(i, 2) 'ton nom de feuille est à la ligne i, 2ème colonne
Sheets(a).Name = nom
i = i + 1
a = a + 1
Loop

End Sub

pour le voir fonctionner :
http://www.cijoint.fr/cjlink.php?file=cj201102/cijVN0Gb4H.xls
Messages postés
9703
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
2 avril 2021
2 080
bonjour


1. pour renommer une feuille ce n'est pas très compliqué

sheets(ancien_nom).name = nouveau_nom


2. on peut aussi utiliser le nméro de la feuille dans le classeur

sheet(num_feuille).name = nouveau_nom


3. on peut aussi créer automatiquement des feuilles et les nommer dans la foulée

RQ. ancien_nom et nouveau_nom sont des chaines de carateres par ex "F1"

tu dis

bonne suite
Messages postés
2
Date d'inscription
jeudi 3 février 2011
Statut
Membre
Dernière intervention
3 février 2011

Super! merci beaucoup ça marche exactement comme je voulais :-)