date dans une cellule pour un classeur avec une feuille par jour?

mdvgb

XLDnaute Nouveau
Bonjour à tous, et merci d'avance pour vos futures réponses qui, je l'espère, répondront à ma question.

Je vous explique, j'ai une fiche quotidienne où apparaissent les tâches de la journée. Donc une feuille par jour, un classeur par mois.

Le but est d'afficher la date en cellule B1, jusque là pas de problème. Les feuilles sont nommées de 1 à 28/29 ou 30 ou 31. La feuille "1" étant le 1er jour du mois en cours.

J'aimerais trouver un macro qui me permette d'une part de dupliquer la première feuille (x 28/29, x30, x31) et d'autre part de faire évoluer automatiquement la date en cellule B1.

Je sais qu'il me suffit d'une formule date avec +1, +2, +3, ... sur chaque feuille en B1. Cependant un macro serait moins fastidieux pour réaliser les douze classeurs des douze mois. J'ai cherché pendant un bon moment, et malgré des réponses proches de ma question je ne trouve pas exactement ce qu'il me faut.

Merci d'avance,

@+
Mika
 

Lone-wolf

XLDnaute Barbatruc
Re

Sinon, fait un test avec ceci

VB:
Dim cel As Range, fm As Date, dt As Date, chemin$, nom$, temp$

Sub Cree_Feuilles()

    Application.ScreenUpdating = False
  
    With Sheets("1")
        Set cel = .Range("b1")
        fm = Format(DateSerial(Year(cel), Month(cel) + 1, 0), "dd")
        temp = Format(cel, "mmmm")
    End With


    For i = 2 To fm
        cel = cel + 1
        Sheets.Add after:=Sheets(Sheets.Count)
        ActiveSheet.Name = Format(cel, "d")
    Next i

    Call Saved
End Sub

Sub Saved()

    Application.ScreenUpdating = False

    With ActiveWorkbook.Sheets("1")
        Set cel = .Range("b1")
    End With

    temp = Format(cel, "mmmm")
    chemin = ThisWorkbook.Path & "\Classeurs 2018\"  'À ADAPTER
    nom = WorksheetFunction.Proper(temp)
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:=chemin & nom & ".xlsx", FileFormat:=xlOpenXMLWorkbook

End Sub
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

Petite précision utile (depuis le 01/05/2018)
1) Lire ce petit fil de discussion
2) Joindre alors un fichier exemple qui tient compte du 1) ;)

EDITION: Bonsoir Lone-Wolf
Un chouia plus court (et paramétrable) ;)
VB:
Sub test()
'exemple: pour le mois de février
Application.ScreenUpdating = False
CreationMois 2
End Sub
Private Sub CreationMois(NumMois)
Dim i As Byte, NBJM As Date
NBJM = CDate("1-" & NumMois)
For i = 1 To Day(DateSerial(Year(NBJM), Month(NBJM) + 1, 0))
Sheets.Add(after:=Sheets(Sheets.Count)).Name = i
Next
End Sub
PS: J'ai suivi ce que le demandeur a écrit ;)
Les feuilles sont nommées de 1 à 28/29 ou 30 ou 31.
 
Dernière édition:

Lone-wolf

XLDnaute Barbatruc
Bonjour Staple :), Mika :)

Encore une autre façon de faire, seul petit inconvénient, c'est qu'une fois la feuille du mois créée, faut fermer le classeur ("Janvier 2018") par exemple, et ouvrir à nouveau Classeur1. Il ne faut rien inscrire en colonne A et B, ça se fera automatiquement.

Dans le fichier joint, j'ai ajouté des dossiers (Plannings 2018 - 2019 - 2020). Une fois que les douze mois ont été créés, l'année en colonne C passera automatiquement à 2019 et le nouveaux classeurs serons sauvegardés dans Planning 2019 et ainsi de suite.

Pour lancer la macro, double-clique sur la feuille.

@Staple1600:
PS: J'ai suivi ce que le demandeur a écrit
Bein, c'est ce que faisait la 1ère macro, sauf un chuia plus long. ;) Et une petite correction du code: vu que 1 existe déjà, dans la boucle il faut partir de 2 à xx. Comme toi tu à écrit, il faut partir de 3.
 

Pièces jointes

  • Plannings.zip
    16.5 KB · Affichages: 49
Dernière édition:

Staple1600

XLDnaute Barbatruc
Bonsoir le fil, le forum

@Lone-wolf
Ma macro se borne à créer un nombre de feuilles correspondant au nombre de jours dans le mois passé en paramètre.
(un des douze mois de l'année en cours par défaut)
Elle ne réponds pas forcément à 100% à la question posée (mais peu inspirer le demandeur)
C'est pas grave ;)
Elle intéressera peut-être les futurs lecteurs de ce fil.
C'est tant mieux :D
 

Lone-wolf

XLDnaute Barbatruc
Bonjour Jean Marie :), Mika

@mdvgb

T'as disparu de la circulation ou quoi?? o_O

Voici un nouveau fichier. Tu créera 12 classeurs correspondants aux mois et l'année en cours avec les jours si référant. Ouvre le classeur "Source" et double-clique sur la feuille pour lancer la macro. Ne supprime pas le classeur "Destination" qui sert à créer les nouveaux classeurs. Une fois que l'année en C1 passe en 2019, efface A1 et B1; fait de même à chaque nouvelle année.
 

Pièces jointes

  • Plannings.zip
    21.9 KB · Affichages: 34
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 331
Membres
103 188
dernier inscrit
evebar