Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro création mois puis jours

  • Initiateur de la discussion Initiateur de la discussion marrama
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

marrama

XLDnaute Nouveau
Bonjour à tous,

Je cherche à faire une macro qui, crée une feuille pour chaque mois de l'année et qui, à l'intérieur de ces feuilles affiche un jour par colonne.

Ex:

Sheet 3 => Mars
Sheet 3.A1 => 01/03/2009
Sheet 3.A2 => 02/03/2009.

J'ai la première partie (création des Mois). Malheureusement je n'arrive pas à incrémenter les jours par rapport à ces mois.

Voici mon Code:

Code:
Sub Struct()
For i = 1 To 12
ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = Format(30 * i, "mmmm")

    "Ici ajouter les jours par rapport à la feuille (mois) courante"

Next i
End Sub

En espérant avoir été clair.

Merci 😉
 
Re : Macro création mois puis jours

Bonjour

Ci dessous un code pour effectuer l'opération.
Code:
Sub Struct()
Dim mois As Integer
Dim i As Long
Dim j As Integer
Dim date1 As Date
date1 = "31/12/2008"
mois = Month(date1)
date1 = DateAdd("d", 1, date1)

For i = 1 To 365
    If Month(date1) <> mois Then
        
                ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
                ActiveSheet.Name = Format(Month(date1), "mmmm")
                j = 1
    End If
    Sheets(ActiveSheet.Name).Cells(1, j) = Day(date1)
    date1 = DateAdd("d", 1, date1)
    mois = Month(date1)
    '"Ici ajouter les jours par rapport à la feuille (mois) courante"
    j = j + 1
Next i
End Sub


A tester

JP
 
Merci beaucoup pour votre réponse.

Le problème c'est que une fois arrivé au 31 décembre, le 1er Janvier continue sur la même feuille (Décembre). Les différents jours des mois sont tous là mais tous sur la même feuille.
 
Re : Macro création mois puis jours

Bonjour Marama, jp

une autre solution, si j'ai bien compris :

Code:
Option Explicit
Sub test()
Dim a As Integer, m As Byte, sh As Worksheet, j As Date, k As Byte
Application.ScreenUpdating = False
a = "2009"
For m = 1 To 12
    Set sh = Sheets.Add(after:=Sheets(Sheets.Count))
    sh.Name = MonthName(m, True)
    k = 1
    For j = DateSerial(a, m, 1) To DateSerial(a, m + 1, 0)
        sh.Cells(k, 1).Value = j
        k = k + 1
    Next j
Next m
Application.ScreenUpdating = True
End Sub

bonne journée
@+
 
Re : Macro création mois puis jours

Bonjour Marama
Bonjour Pierrot93

Merci beaucoup pour votre réponse.

Le problème c'est que une fois arrivé au 31 décembre, le 1er Janvier continue sur la même feuille (Décembre). Les différents jours des mois sont tous là mais tous sur la même feuille.
Il faut déplacer une ligne, la mémorisation du mois doit se faire avant l'ajout d'un jour


mois = Month(date1)
date1 = DateAdd("d", 1, date1)

Ligne à modifier pour tenir compte des années bisextiles
For i = 1 To 365


JP
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
474
Réponses
5
Affichages
253
Réponses
6
Affichages
305
Réponses
4
Affichages
246
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…