Vb Excel : Mise en forme et modèle

Résolu
Melycea -  
 Melycea -
Bonjour à tous,

J'ai créé une macro qui permet de créer une nouvelle feuille dans un autre classeur après avoir taper son nom dans un userform.
Je voudrai que toutes les nouvelles feuilles créées aient la même mise en forme.
Pour cela, j'ai créé un modèle que j'ai appelé Feuil.xlt, mais je n'arrive pas à l'insérer dans ma macro au moment de la création de la nouvelle feuille.
Voici ce que j'ai essayé :
    ' Ajoute une feuille dans le classeur2
    NumFeuil = Workbooks(2).Worksheets.Count 'nombre de feuilles
    Workbooks(2).Sheets.Add after:=Workbooks(2).Worksheets(NumFeuil)                  Workbooks(2).Sheets(NumFeuil + 1).Name = TextBox1.Value
    
    ' Mise en page de la nouvelle feuille à partir du modèle
    Workbooks("C:\Documents and Settings\Application Data\Microsoft\Templates\Feuil.xlt").Sheets(1).Range("A1:E80").Copy _
   Destination:=Workbooks(2).Sheets(NumFeuil + 1).Range("A1")

    ' Ferme le UserForm
    Unload Me


Merci par avance

3 réponses

  1. melanie1324 Messages postés 1561 Statut Membre 156
     
    Bonjour,

    essaie comme ca :

    ' Ajoute une feuille dans le classeur2
    NumFeuil = Workbooks(2).Worksheets.Count 'nombre de feuilles
    Workbooks(2).Sheets.Add after:=Workbooks(2).Worksheets(NumFeuil) Workbooks(2).Sheets(NumFeuil + 1).Name = TextBox1.Value
    a=activeworkookb.name
    ' Mise en page de la nouvelle feuille à partir du modèle

    Workbooks.Open "C:\Documents and Settings\Application Data\Microsoft\Templates\Feuil.xlt"

    Sheets(1).seleect
    Range("A1:E80").Copy

    workbooks(a).activate

    Sheets(NumFeuil + 1).select
    Range("A1").select
    activesheet.paste

    workbooks("Feuil.xlt").close

    ' Ferme le UserForm
    Unload Me
    0
  2. Melycea
     
    Merci pour ta réponse.
    ça me créé bien la feuille comme je voulais mais par contre, à chaque fois que j'exécute la macro, le nom de mon modèle change : Feuil1; Feuil2; Feuil3 ...
    Et du coup, ça bugue au moment de la fermer.

    Je vois pas trop comment remédier à ce problème.
    0
  3. melanie1324 Messages postés 1561 Statut Membre 156
     
    Bonjour,

    je ne vois pas pourquoi ca change le nom de ton modèle!!!
    A moins que tu ais une autre macro qui s'éxécute entre deux.

    As-tu fait le pas à pas pour voir quand est-ce que cela renommait ton modèle?

    Le pas à pas se fait en appuyant sur F8
    0
    1. melanie1324 Messages postés 1561 Statut Membre 156
       
      toutes mes excuses, il y a des erreurs de saisie mais je sais pas si c'est ca qui provoque le pb:

      ' Ajoute une feuille dans le classeur2
      NumFeuil = Workbooks(2).Worksheets.Count 'nombre de feuilles
      Workbooks(2).Sheets.Add after:=Workbooks(2).Worksheets(NumFeuil) Workbooks(2).Sheets(NumFeuil + 1).Name = TextBox1.Value
      a=activeworkook.name
      ' Mise en page de la nouvelle feuille à partir du modèle

      Workbooks.Open "C:\Documents and Settings\Application Data\Microsoft\Templates\Feuil.xlt"
      workbooks("feuil1.xlt").Activate
      Sheets(1).select
      Range("A1:E80").Copy

      workbooks(a).activate

      Sheets(NumFeuil + 1).select
      Range("A1").select
      activesheet.paste

      workbooks("Feuil.xlt").close

      ' Ferme le UserForm
      Unload Me
      0
    2. Melycea
       
      Le changement de nom se faisait dès l'ouverture du modèle.
      Mais du coup, j'ai fait une macro qui fait toute la mise en page, sans passer par le modèle...

      Merci quand même pour ton aide
      0