Automatiser les pages Excel

Résolu/Fermé
massimo888 Messages postés 203 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 7 avril 2017 - 11 juin 2014 à 08:38
massimo888 Messages postés 203 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 7 avril 2017 - 12 juin 2014 à 16:28
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 6367 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 2 avril 2024 795
11 juin 2014 à 18:24
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 203 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 7 avril 2017
12 juin 2014 à 08:28
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 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 54
Modifié par skk201 le 12/06/2014 à 10:00
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 203 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 7 avril 2017
12 juin 2014 à 16:26
Merci beaucoup!!
Ça marche!!!
0
PHILOU10120 Messages postés 6367 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 2 avril 2024 795
Modifié par PHILOU10120 le 12/06/2014 à 11:02
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 938 Date d'inscription jeudi 11 septembre 2008 Statut Membre Dernière intervention 16 octobre 2016 54
12 juin 2014 à 14:38
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 6367 Date d'inscription lundi 16 avril 2012 Statut Contributeur Dernière intervention 2 avril 2024 795
12 juin 2014 à 15:29
Merci pour votre correction, c'est comme ça qu'on apprend

Bonne journée
0
massimo888 Messages postés 203 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 7 avril 2017
12 juin 2014 à 16:28
Merci énormément!!
Ça marche à merveille!!

Bonne journée à vous aussi
0