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

Résolu
Znuf -  
 Znuf -
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
Configuration: Windows 2003
Firefox 2.0.0.3

6 réponses

  1. Znuf
     
    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
  2. irem
     
    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
  3. Znuf
     
    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
  4. irem
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Znuf
     
    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
  7. irem
     
    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