Renommer automatiquement une feuille excel

Résolu
MizarFlo Messages postés 2 Statut Membre -  
MizarFlo Messages postés 2 Statut Membre -
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

4 réponses

  1. melanie1324
     
    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
  2. melanie1324
     
    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
    1
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
    0
  4. MizarFlo Messages postés 2 Statut Membre
     
    Super! merci beaucoup ça marche exactement comme je voulais :-)
    0