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!!
A voir également:

2 réponses

PHILOU10120 Messages postés 6511 Date d'inscription   Statut Contributeur Dernière intervention   825
 
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
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
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
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
massimo888 Messages postés 209 Statut Membre
 
Merci beaucoup!!
Ça marche!!!
0
PHILOU10120 Messages postés 6511 Date d'inscription   Statut Contributeur Dernière intervention   825
 
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
skk201 Messages postés 942 Date d'inscription   Statut Membre Dernière intervention   54
 
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
PHILOU10120 Messages postés 6511 Date d'inscription   Statut Contributeur Dernière intervention   825
 
Merci pour votre correction, c'est comme ça qu'on apprend

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

Bonne journée à vous aussi
0