1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Public Sub toto()
Dim i As Integer
Dim y As Integer
Dim lastDayOfMonth
Dim offset_ As Integer
Dim year_ As Integer
year_ = InputBox("Quelle année ?", "Input Box Text") 'récupère l'année en fonction de ce que l'utilisateur mets dans l'invité de commande
ThisWorkbook.Sheets("global").Cells.Clear 'efface la feuille ou va être mis le calendrier
For i = 1 To 12 'on boucle sur tous les mois
lastDayOfMonth = DateSerial(year_, i + 1, 0) 'récupère le dernier jour du mois i (format date)
ThisWorkbook.Sheets("global").Cells(1, 1 + offset_).Value = Format(DateSerial(year_, i, 1), "mmmm") 'mets le libellé du mois i (Janvier, Février ... Décembre)
For y = 1 To Day(lastDayOfMonth) 'boucle sur tous les jours du mois i
ThisWorkbook.Sheets("global").Cells(2, y + offset_).Value = Format(DateSerial(year_, i, y), "ddd") 'sur la ligne 2 on met le libellé court du jour
ThisWorkbook.Sheets("global").Cells(3, y + offset_).Value = Format(DateSerial(year_, i, y), "dd") ' sur la ligne 3, on met le numéro du jour
Next
ThisWorkbook.Sheets("global").Range(Sheets("global").Cells(1, 1 + offset_), Sheets("global").Cells(1, offset_ + Day(lastDayOfMonth))).Merge 'fusionne les cellules de l'entete du mois en ligne 1
offset_ = offset_ + Day(lastDayOfMonth) ' incrémente l'offset pour le mois suivant
Next
End Sub |
Partager