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

Fermé
mmm! Messages postés 2 Date d'inscription samedi 16 mars 2013 Statut Membre Dernière intervention 16 mars 2013 - 16 mars 2013 à 11:04
via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 - 16 mars 2013 à 14:08
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
A voir également:

2 réponses

via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 2 738
16 mars 2013 à 11:40
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
mmm! Messages postés 2 Date d'inscription samedi 16 mars 2013 Statut Membre Dernière intervention 16 mars 2013
16 mars 2013 à 12:46
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
via55 Messages postés 14506 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 27 décembre 2024 2 738
16 mars 2013 à 14:08
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