Comment modifier ce code afin de générer calendrier annuel 1904 sur une colonne...

Christian0258

XLDnaute Accro
Bonjour à tout le forum,

Je souhaiterais votre aide afin de modifier ce code, auteur Hoerwind, afin de ne générer que l'année souhaitée et non les 1462 jours qui suivent... (calendrier 1904 coché) :

Sub test() 'merci hoerwind ;)
Dim ChxAn$, fin&, Debut
ChxAn = InputBox("Saisir l'année de votre calendrier", "Calendrier", Year(Date))
[a5] = DateValue("1/1/" & ChxAn)
fin = CLng(DateValue("31/12/" & ChxAn))
[a5].DataSeries 2, 3, 1, 1, fin, False
End Sub

Merci pour le temps que vous voudrez bien vouloir m'accorder.

Bien à vous,
Christian
 

Staple1600

XLDnaute Barbatruc
Re : Comment modifier ce code afin de générer calendrier annuel 1904 sur une colonn

Bonsoir à tous


Je me suis fait plaisir dans mon VBE.
Ok je vous montre avec quoi. ;)
(Je vais finir par attraper une addiction calendaire avec ce fil ;) )
Pour tester lancer la macro Test.
VB:
Const T$ = "O tempora, o mores!"
Sub Test()
Cells.Clear
Staple_DessineMoi_une_Annee 2014, 3, 2, 27, "dd/m/yyyy"
MsgBox "Pause", 64, T & Space(6)
Cells.Clear
Staple_DessineMoi_une_Annee 2016, 1, 1, 58, "dddd dd mmmm yyyy"
End Sub
Private Sub Staple_DessineMoi_une_Annee(ParamArray vCal() As Variant)
'ANNEE=vCal(0),Colonne=vCal(1),BorderWeight=vCal(2), BorderColor=vCal(3), Format Date=vCal(4)
Dim aaaa, aaa, aa, a, b&, c&: aaaa = vCal(0): c = CLng(vCal(1))
a = DateSerial(aaaa, 1, 1): aa = DateSerial(CInt(aaaa), 12, 31): aaa = aa - a
For b = 0 To aaa
Cells(b + 1, c) = a + b
Next
With Columns(c).CurrentRegion
.Borders.LineStyle = 1: .BorderAround 1, vCal(2), vCal(3)
.NumberFormat = CStr(vCal(4))
End With
Columns(c).Columns.AutoFit
End Sub
 
Dernière édition:

Statistiques des forums

Discussions
312 294
Messages
2 086 906
Membres
103 404
dernier inscrit
sultan87