Automatiser les pages Excel

Résolu
massimo888 Messages postés 209 Statut Membre -  
massimo888 Messages postés 209 Statut Membre -
Bonjour,
Je cherche à automatiser mes nouvelles feuilles excel dans le même classeur.
Càd: A chaque création d'une nouvelle "sheet" j'aimerais trouver la mise en page de la précédente. Pas besoin de faire des copier/coller à chaque fois.
Si vous pourriez m'aider?
Le plus ce serait de garder même la liaison avec la base de données.
Merci d'avance!!

2 réponses

  1. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     
    Bonjour

    Avez-vous essayé de dupliquer la feuille
    Clique droit sur l'onglet
    Déplacer ou copier
    en dernier
    mettre la coche devant créer une copie
    renommer la feuille
    0
    1. massimo888 Messages postés 209 Statut Membre
       
      Tout d'abord merci pour votre réponse!
      Et pour la solution que vous avez proposez, oui je l'ai fait sauf que j'ai une bas de donnée qui comporte plus d'une centaine de feuilles et j'aimerais le faire automatiquement.

      Voici un code que j'ai fait mais j'ai un petit souci au niveau du nom de la feuille. le nom ne s'incrémente pas à chaque fois. Par exemple feuille S1 ensuite S2...Sn.


      Sub essai()
      nbFeuille = Sheets.Count
      'Dim i As Integer
      Dim Valarray(52)



      Sheets("S").Copy After:=Sheets(nbFeuille)

      Sheets(nbFeuille + 1).Name = "S"



      End Sub
      0
    2. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
       
      Essaye avec ça

      Sub essai()
      Dim nbFeuille as Integer
      nbFeuille = Sheets.Count
      
      Sheets("S").Copy After:=Sheets(nbFeuille)
      
      Activesheet.name = "S" & nbFeuille -1
      
      End Sub


      Si tu considère que la feuille "S" est une feuille modèle.
      0
    3. massimo888 Messages postés 209 Statut Membre
       
      Merci beaucoup!!
      Ça marche!!!
      0
  2. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
     
    Bonjour

    Je ne suis pas spécialiste des macros mais je viens de modifier votre macro comme ceci

    Sub essai()
    nbfeuille = Sheets.Count
    Dim i As Integer
    Sheets("S").Copy After:=Sheets(nbfeuille)
    Sheets(Sheets.Count).Name = "S" & "_" & nbfeuille + 1

    End Sub

    et cela fonctionne bien

    Bonne journée

    C'est en forgeant que l'on devient forgeron. - C'est au pied du mur que l'on voit le maçon - on apprend toujours de ses erreurs
    0
    1. skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   55
       
      Sub essai()
      Dim nbfeuile as integer 'Il est conseillé de toujours définir une variable avant de l'utiliser.
      nbfeuille = Sheets.Count
      Dim i As Integer 'Vous définissez cette variable mais vous ne l'utilisez pas.
      Sheets("S").Copy After:=Sheets(nbfeuille)
      Sheets(Sheets.Count).Name = "S" & "_" & nbfeuille + 1
      
      End Sub
      


      Loin d'être parfais :), mais c'est comme ça qu'on apprend.
      0
    2. PHILOU10120 Messages postés 6463 Date d'inscription   Statut Contributeur Dernière intervention   835
       
      Merci pour votre correction, c'est comme ça qu'on apprend

      Bonne journée
      0
    3. massimo888 Messages postés 209 Statut Membre
       
      Merci énormément!!
      Ça marche à merveille!!

      Bonne journée à vous aussi
      0