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...
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
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