Feuilles nommées automatiquement par date

Bonjour,

j'ai déjà une feuille contenant une mise en page de planning et je souhaite en créer une feuille par jour sur chaque mois de 2011. Soit 12 classeurs (1 par mois) contenant X feuilles nommées de la date des jours ouvrables de chaque mois. S'il était possible de le faire automatiquement sans avoir à renommer chaque feuille ça serait bien.

Dans le fichier joint, je veux reproduire X fois cette feuille (celle-ci est le 04 01 2010) en nommant chaque feuille de la date du jour concerné pour chaque mois . De plus dans la cellule A1, on retrouve la date qui doit être affichée pour l'impression.

J'espère vous avoir correctement formulé ma demande.

Merci par avance de vos suggestions et de votre aide.

33plng-2011.zip (14.90 Ko)

Bonsoir

Pour commencer, juste un petit détail.

Tu parles de 2011 et ta feuille de départ affiche "Lundi 4 janvier 2010"

Ne serait-il pas plus juste de mettre "Lundi 3 janvier 2011" ?

Cordialement

Bonjour,

Ci-dessous un petit bout de code ajouté dans ton fichier qui crée 365 feuilles.

Lance la macro Création.

Pour 2011 tu as juste à changer 2010 en 2011 dans le code de la macro, pour 2012 il faudra mettre 366.

Sub Création()
    Dim Onglet As Date
    Onglet = #1/1/2010#
    Application.ScreenUpdating = False
    For i = 1 To 365
        Sheets(1).Copy after:=Sheets(Sheets.Count)
        ActiveSheet.Name = Format(Onglet, "dd-mm-yyyy")
        ActiveSheet.Range("A1") = Onglet
        Onglet = Onglet + 1
    Next
End Sub

A+

30plng-2011.zip (25.85 Ko)

Bonsoir Amadéus, forum,

je commençais à regarder, il faudrait pouvoir lister sur une feuille

uniquement les jours ouvrés du mois, sais-tu faire çà ?

Ensuite une petite macro fera le reste en bouclant sur cette liste.

çà va faire un fichier d'environ 20 feuilles pour un mois

Amicalement

Claude

Bonsoir Claude

Le fichier avec la liste des jours ouvrés

"y a plus qu'à"

Cordialement

32classeur1.zip (14.02 Ko)

Re Amadéus, à tous,

Si on avait pu choisir le mois (en + de l'année) c'était complet

Sub Feuilles()
Dim Lg%, i%
Application.ScreenUpdating = False
    With Sheets("Fériés")
            Lg = .Range("a65536").End(xlUp).Row
        For i = 2 To Lg
            Sheets("Modèle").Copy after:=Sheets(Sheets.Count)
            ActiveSheet.Name = Format(.Cells(i, 1), "dd-mm-yyyy")
            ActiveSheet.Range("A1") = .Cells(i, 1)
        Next i
    End With
End Sub

Amicalement

Claude

Bonsoir,

Conformément aux limites d'Excel, ton code plante, Claude....(dès lors qu'on tire l'année jusqu'au bout....)

Just look At :

https://forum.excel-pratique.com/excel/aide-macro-verifier-onglet-existant-t17678-10.html#p102412

Notamment en page 2

Bonne journée

Bonjour

Le fichier avec le choix du mois :

Edit : nouveau fichier suite à la remarque de cousinhub

49plng.zip (32.30 Ko)

Amicalement

Nad

Bonjour, Nad

Je pense qu'il y a une petite erreur, notamment, concernant le mois d'Avril....

Du moins, chez moi....

Si tu pouvais vérifier...

bonne journée

Bonjour

Tu as tout à fait raison.

J'ai modifié le fichier en conséquence. (voir mon précédent message)

Amicalement

Nad

Bonjour Nad, cousinhub, forum,

Afin de créer un classeur par mois, il faudrait que

"A1" prenne en compte le n° de mois en dur (ici en D2)

au lieu de C2.

à noter que la formule actuelle débloque pour

Avril et Juillet 2011 !!

Voir fichier explicatif

Bonne journée

Claude

Bonjour Claude

Pour le bug de la formule, cousinhub vient de le signaler et j'ai posté le nouveau fichier.

Ton but est de créer les 12 classeurs d'un coup ?

Amicalement

Nad

Re-,

@ Nad, effectivement, plus de bug en Avril, mais si on essaie de créer toutes les feuilles d'un coup (donc les mois à suivre), j'arrive au 09 août, et ensuite, Bug...(pour les mêmes raisons qu'expliquées dans mon lien au-dessus, à savoir la capacité de mémoire d'Excel)

Par ce lien, je voulais juste vous montrer que la copie multiple d'un onglet a ses limites (Bug reconnu par µsoft himself 8) )

bonne journée

re Nad,

Ok pour la formule rectifiée

Ton but est de créer les 12 classeurs d'un coup ?

oui en boucle, c'est ce que j'avais cru comprendre dans la demande

Amicalement

Claude

Re

Claude, voici le fichier modifié.

Tu l'as sans doute déjà prévu, mais il serait bon de prévoir le code pour enregistrer chaque classeur dès sa création.

Nad

cousinhub a écrit :

Re-,

@ Nad, effectivement, plus de bug en Avril, mais si on essaie de créer toutes les feuilles d'un coup (donc les mois à suivre), j'arrive au 09 août, et ensuite, Bug...(pour les mêmes raisons qu'expliquées dans mon lien au-dessus, à savoir la capacité de mémoire d'Excel)

Par ce lien, je voulais juste vous montrer que la copie multiple d'un onglet a ses limites (Bug reconnu par µsoft himself 8) )

bonne journée

J'ai bien compris ta remarque, mais vu qu'il y a un classeur par mois, pas de soucis.

Amicalement

Nad

re Nad,

Comprends pas, la cellule D2 n'a pas d'influence sur les dates !

Amicalement

Claude

Re

Quand ça veut pas, ça veut pas ...

En A1 :

=SERIE.JOUR.OUVRE(DATE(An;D2;1);1;Fériés)

Nad

Re,

Sub Feuilles()
Dim Lg%, J%, i%, Chemin$, NomFichier$, Wbk$, Wbk2$
'Macro par Claude Dubois pour "MICBRET" Excel-Pratique le 3/11/10 (avec l'aide de Nad)
    Application.ScreenUpdating = False
    Chemin = ActiveWorkbook.Path
    Wbk = ActiveWorkbook.Name
        Sheets("Fériés").Range("d2") = 1 'départ janvier
    For J = 1 To 12
                Workbooks(Wbk).Sheets("Modèle").Copy
                Wbk2 = ActiveWorkbook.Name
        With Workbooks(Wbk).Sheets("Fériés")
                NomFichier = Format(.Cells(1, 1), "mmm-yyyy")
                Lg = .[JoursOuvres].Count
            For i = 1 To Lg
                Workbooks(Wbk).Sheets("Modèle").Copy after:=Workbooks(Wbk2).Sheets(Sheets.Count)
                ActiveSheet.Name = Format(.Cells(i, 1), "dd-mm-yyyy")
                ActiveSheet.Range("a1") = .Cells(i, 1)
            Next i
                .Range("d2") = .Range("d2") + 1
        End With
            Application.DisplayAlerts = False
            Sheets("Modèle").Delete
            ActiveWorkbook.SaveAs Filename:=Chemin & "\" & NomFichier
            ActiveWorkbook.Close Savechanges:=False
    Next J
End Sub

Amicalement

Claude

Bonsoir,

  • 'Macro par Claude Dubois pour "MICBRET" Excel-Pratique le 3/11/10 (avec l'aide de Nad)

Bravo....

Au plaisir...

Rechercher des sujets similaires à "feuilles nommees automatiquement date"