Macro renomme les feuilles selon une plage de cellules

anismegrine

XLDnaute Junior
Bonjour le forum

Je me retourne vers vous a nouveau pour avoir une de vos lumières
voila je suis pas expert en matière de programmation et je cherche à trouver un code qui me permet de renommer les feuilles selon une plage de cellule présente dans Feuil 1 (A1:A42)
j'ai fait quelques recherche mais je n'ai pas trouvé le bon code qui fait en sorte de créer les feuilles et de les renommer.

merci pour votre aide
 

Pierrot93

XLDnaute Barbatruc
Re : Macro renomme les feuilles selon une plage de cellules

Bonjour,

essaye ceci :
Code:
Option Explicit
Sub test()
Dim c As Range
For Each c In Sheets("Feuil1").Range("A1:A42")
    If Not IsEmpty(c) Then Worksheets.Add(after:=Worksheets(Worksheets.Count)).Name = c.Value
Next c
End Sub
les valeurs dans les cellules doivent être valides pour un nom de feuille et ne pas déjà exister dans le classeur...

bonne journée
@+
 

Brigitte

XLDnaute Barbatruc
Re : Macro renomme les feuilles selon une plage de cellules

Bonjour,

Me voici intéressée par ton code Pierrot...

Je l'ai donc copié dans this workbook... mais le souci, c'est que ca crée de nouvelles feuilles avec les noms présents dans la plage... ca ne renomme pas les feuilles existantes.

Ca doit être le Then Worksheets.Add qu'il faut remplacer par autre chose !!!

Qu'ai je mal fait ? ou que dois je faire pour y arriver ?

Merci et bises pour la circonstance.
 

Pierrot93

XLDnaute Barbatruc
Re : Macro renomme les feuilles selon une plage de cellules

Bonjour Brigitte:)

En fait ce code boucle sur une plage de cellule, et pour chaque cellule non vide, créé une feuille la nommant par le contenu de la cellule..... Peux tu préciser un peu plus ton besoin... tu veux crééer d'autres feuilles ? renommer celles déjà existantes ? pourquoi As tu placé ce code dans "thisworkbook" ? Aarf:) je t'apporte plus de questions que de réponse... :)

bon après midi
@+
 

Brigitte

XLDnaute Barbatruc
Re : Macro renomme les feuilles selon une plage de cellules

Coucou,

Alors c'est pour un collègue qui voudrait créer un modèle de classeur excel.

Dans ce classeur il aurait une feuille type, et selon le marché (il s'agit d'attributions de marchés publics), créer autant de feuilles que d'entreprises sur le modèle de la feuille type... et qui porteraient les noms des entreprises sur la feuille 1 ** par exemple (qui s'appellerait "modèle" par exemple).

Ci-joint voici ce que pourrait être le classeur... ** A voir si la plage de cellules serait dans le modèle ou dans une feuille à part facile à retrouver (cachée, mais facile d'accès)...

Le modèle est créé... en feuille MODELE (partie bleue pour l'exemple)
La plage est renseignée ... ** en colonne A cachée, feuille MODELE (ou sur une feuille cachée)
On clique sur un bouton... et ca crée autant de feuilles que de noms et ca les renomme selon ces noms.

Quant à savoir pourquoi j'avais mis ta macro dans this workbook... va savoir... avec moi, tout ou rien s'explique, hihi. Je savais pas où le mettre, dis moi.

Subsidiaire : pour créer des feuilles selon le modèle ... on faisait jusque là l'astuce de chris : cliquer/glisser... mais si en plusss tu peux dans la même macro nous faire créer les feuilles nécessaires, ce serait l'idéal.

Bises
 

Pièces jointes

  • Romuald.xls
    21 KB · Affichages: 111
  • Romuald.xls
    21 KB · Affichages: 100
  • Romuald.xls
    21 KB · Affichages: 98
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : Macro renomme les feuilles selon une plage de cellules

Re,

un code ci-dessous, en considérant que ta feuille "modèle" soit masquée, à utiliser dans un module standard" (dans l'éditeur vba => barre de menu => insertion => module)... En espérant que cela puisse t'aider...

Code:
Option Explicit
Sub test()
Dim c As Range
Application.ScreenUpdating = False
With Sheets("MODELE")
    .Visible = xlSheetVisible
    For Each c In .Range("A2", .Range("A65536").End(xlUp))
        .Copy after:=Sheets(Sheets.Count)
        On Error Resume Next
        ActiveSheet.Name = c.Value
    Next c
    On Error GoTo 0
    .Visible = xlSheetHidden
End With
Application.ScreenUpdating = True
End Sub
 

Brigitte

XLDnaute Barbatruc
Re : Macro renomme les feuilles selon une plage de cellules

Re,

Exactement ce qu'on veut faire... Je montre à Romuald demain et je reviens t'embêter si des petits réglages sont nécessaires ?

Merci beaucoup, vraiment, une fois de plus.
 

Discussions similaires

Statistiques des forums

Discussions
312 506
Messages
2 089 121
Membres
104 038
dernier inscrit
Helpme59