[VBA-Excel] Dater/Créer les feuilles.

Résolu/Fermé
Znuf - 6 avril 2007 à 11:35
 Znuf - 6 avril 2007 à 15:21
Bonjour. Je souhaiterais créer et par la même occasion dater les feuilles d'un documents excel.

Càd créer un fichier de 365 feuilles (366 pour les année bissextile) datée. et si possible avoir la même date dans une cellule de feuille.

Merci de votre aide
A voir également:

6 réponses

Merci bien.

Mon template créé, ma première feuille nommée Summary pour suivre ta macro.

Celà effectué, le déboggeur me donne une erreur à la ligne 3

myName = DateAdd(d,int_i,"01/01/2007")

Merci encore
0
dateAdd("D",int_i,...)

le "D" pour Day, suivant ta version d'Excel, tu auras peut-être a rentrer "J" au lieu de D (Jour / Day)

Irem
0
Merci ça marche bien mieux avec les " " ;).

Par contre, maintenant j'ai une erreur d'execution '9'

sur cette ligne :

ThisWorkbook.Worksheets(myName).Cells(1, 3).Value = myName

Désolé pour mon ignorance et merci encore
0
essaie avec
ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count - 1).cells(1,3).value=myName

en fait, je pointe sur la bonne feuille puis sur la cellule 1,3

à toi de voir si elle est dispo.

Cette ligne est uniquement là pour remplir la case dans la feuille, autrement le reste créé les feuilles au bon nom, pour vérifier ta config, vérifie le nom de la première feuille, s'il est bon il ne reste plus qu'a copier le nom dans la case..

Irem
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Oki ça marche mieu. jusqu'en aout-septembre lol

La macro qui fonctionne :
___________________________

For int_i=0 to 364 'ou 365 si tu veux
ThisWorkbook.Worksheets(1).Copy Before:=Worksheets("Summary")
myName = DateAdd("D",int_i,"01/01/2007")
ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count - 1).Name = myName
ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count - 1).cells(1,3).value=myName
next int_i.

__________________________

Feuille 1 nommée : Template
Feuille 2 nommée : Summary

mercis bcp pour ton aide
0
Pour moi le plus simple,

Tu pars sur un classeur avec deux feuilles, la première ou tu as le template que tu veux faire 365/366 fois, la seconde ou tu as un bouton qui declenche le script suivant :

For int_i=0 to 364 'ou 365 si tu veux
ThisWorkbook.Worksheets(1).Copy Before:=Worksheets("Summary")
myName = DateAdd(d,int_i,"01/01/2007")
ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count - 1).Name = myName
ThisWorkbook.Worksheets(myName).Cells(1, 3).Value = myName
next int_i

et c'est fait, tu peux aussi formater la date si tu veux ou customiser l'affichage

Irem
-1