classeur année + mois

zitoune555

XLDnaute Junior
Bonjour à tous.
Après une recherche dans plusieurs forums et tutoriels je viens taper à cette porte.

je souhaiterais créer un classeur "année" (exemple 2009) dans lequel chaque feuille "mois" indique tous les jours du mois considéré et celà automatiquement à partir de la première feuille (12 au total).

j'ai éssayé en utilisant le gestionnaire de nom "an, 2009, cellule de reference, classeur". mais sans succés.

j'espère e^tre compréhensible, merci de votre intérêt. je pense que cela devrait interresser pas mal de cliqueurs.
 

Staple1600

XLDnaute Barbatruc
Re : classeur année + mois

Bonjour à tous

Une macro qui sort du four
Code:
Sub a()
Dim i
For i = 1 To 12
Sheets.Add after:=Sheets(Sheets.Count)
    With ActiveSheet
        Select Case i
        Case 1, 3, 5, 7, 8, 10, 12
        .Cells(1, 1).Resize(31).FormulaR1C1 = "=DATE(YEAR(TODAY())," & i & ",ROW())"
        Case 2
        .Cells(1, 1).Resize(IIf(IsDate("29/2/" & Year(Date)), 29, 28)).FormulaR1C1 = "=DATE(YEAR(TODAY())," & i & ",ROW())"
        Case 4, 6, 9, 11
        .Cells(1, 1).Resize(30).FormulaR1C1 = "=DATE(YEAR(TODAY())," & i & ",ROW())"
        End Select
        .Name = Format(MonthName(i), "mmmm")
    End With
Next i
End Sub

Ici la cuisson est réglé sur 2012
 

Staple1600

XLDnaute Barbatruc
Re : classeur année + mois

Re

Du même four, mais cuisson sur "année de son choix" ;)
Code:
Sub b()
Dim i, an
an = InputBox("Choisr l'année du calendrier, svp", "Calendrier", Year(Date))
Application.ScreenUpdating = False
For i = 1 To 12
Sheets.Add after:=Sheets(Sheets.Count)
    With ActiveSheet
        Select Case i
        Case 1, 3, 5, 7, 8, 10, 12
        .Cells(1, 1).Resize(31).FormulaR1C1 = "=DATE(" & an & "," & i & ",ROW())"
        Case 2
        .Cells(1, 1).Resize(IIf(IsDate("29/2/" & an), 29, 28)).FormulaR1C1 = "=DATE(" & an & "," & i & ",ROW())"
        Case 4, 6, 9, 11
        .Cells(1, 1).Resize(30).FormulaR1C1 = "=DATE(" & an & "," & i & ",ROW())"
        End Select
        .Name = StrConv(Format(MonthName(i), "mmmm"), vbProperCase)
    End With
Next i
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 491
Messages
2 088 889
Membres
103 982
dernier inscrit
krakencolas