Générer des onglets automatiquement avec format prédéterminé

mmm! Messages postés 2 Statut Membre -  
via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je dois créer un fichier excel avec un grand nombre d'onglets (20 en moyenne) avec pour chacun d'entre eux le même format. J'aimerais savoir si j'ai moyen de faire une macro pour générer automatiquement mes onglets.

Merci d'avance

2 réponses

  1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
     
    Bonjour

    Un exemple

    Sub nouv_feuil()
    For n= 1 to 20
    Sheets.Add after:=Worksheets(Worksheets.Count)
    Activesheet.Name="A_" & n
    Next
    End sub

    Cette macro par exemple crée 20 feuilles
    chaque feuille nouvelle placée en dernier et nommée A_1, A_2 etc

    Cdlmnt
    0
  2. mmm! Messages postés 2 Statut Membre
     
    Bonjour,

    Merci pour ta réponse. J'ai deux doutes:

    1 / Est-il possible que mes onglets soient générés automatiquement avec un format de template prédéterminé?

    2/ Est-ce que je peux également générer mes onglets en leur donnant directement le nom de cellules renseignées dans une plage de données source?

    Merci d'avance.

    Cordialement,
    0
    1. via55 Messages postés 14393 Date d'inscription   Statut Membre Dernière intervention   2 759
       
      Qu'appelle tu un format prédeterminé ? peux tu donner un exemple

      Si tu veux une feuille conforme à un modele non rempli (par exemple avec un tableau en B2:G7 avec une ligne de titres) il faut d'abord créer ce modèle sur une feuille que tu appelles Modele et dans la macro au lieu de créer une nouvelle feuille vierge on copie le modèle; dans ce cas le code deviendrait :
      Sheets("Modele").Select
      Sheets("Modele").Copy After:=Worksheets(Worksheets.Count)

      Pour le nom pas de probleme :

      supposons les cellules avec les noms en B1, B2, B3 de la feuille 1 la lige de code pour le nom serait alors
      Activesheet.Name=sheets(1).range("B" & n).value

      Cdlmnt
      0