Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
Voici une méthode pour faire ton calendrier à la volée... Par contre il faut aussi quand même indiquer une année (pour les bisextiles et le calendrier de février)
Voici une méthode pour faire ton calendrier à la volée... Par contre il faut aussi quand même indiquer une année (pour les bisextiles et le calendrier de février)
bonjour anass1 bonjour le forum
je vous propose à partir d'une saisie dans un textbox de remplir les date du jour de saisie à la fin du mois dans la colonne A, et de validation en validation, toujours à la suite dans la colonne
le code
VB:
Private Sub CommandButton1_Click()
Dim jour, jfinmois As Date
Dim ligne
jour = TextBox1.Text
jfmois = DateAdd("m", 1, jour) - Day(jour)
ligne = Sheets("Feuil1").Range("A36000").End(xlUp).Row + 1
For j = 0 To DateDiff("d", jour, jfmois)
Sheets("Feuil1").Cells(ligne, 1).Offset(j, 0).Value = DateAdd("d", j, jour)
Next j
Unload Me
End Sub
A vous d'adapter à votre classeur, nom de la feuille etc
cordialement
galougalou
Bonsoir Thierry, GALOUGALOU , le Forum
Merci beaucoup GALOUGALOU pour votre aide, j'apprécie cela
Merci beaucoup Thierry, c'est parfait
J'ai ajouté quelques modifications, veuillez revérifier
Ah je ne savais pas que ce calendar devait se mettre à la queue dans la même liste de la feuille "A".
Donc attention à enlever cette ligne pour les testes dans Sub GenerateCalendar(y As Integer, M As Byte, D As Byte)
Pour les ajouts que tu montres, oui pas de souci , mais normalement le GenerateCalendar envoie en ordre de Date et sans doublon (sauf si on le fait tourner plusieurs fois puisque maintenant il s'ajoute à la dernière ligne vide...
J'ai testé sur ma v00, et tout semble fonctionner avec ces ajouts. (Y compris si on envoie deux fois JUIN, pas de doublon.
Pour cette partie là, oui j'ai mis ça en commentaires car ça n'avait rien à voir avec le calendrier, le peu que j'ai fait tourner avant ca ramait un max avant que je mette en comments !
Je n'ai même pas cherché à quoi ca servait ou ce que ca devait faire ! Sorry
Je pense que ca devrait faire l'objet d'un nouveau sujet oui, surtout que là on parle de WorksheetFunction.
Oui grand merci pour ceci, en effet j'avais ce code sous la main que j'avais fait il y a un bail dans les années 2000 pour XLD et pour écrire un calendrier sur un loop en colonne comme demandé par @anass1, je l'ai repris tout simplement.
C'est vrai qu'à l'époque j'avais plus de cheveux mais moins de connaissances en VBA d'où cette curieuse et barbatruqueste façon ! LoL 😱
Mais en effet depuis le temps et selon le cas je me suis fait deux petites fonctions en m'appuyant sur DateSerial comme tu proposes :
VB:
Public Function GetFirstDayOfMonth(ByVal MyDate As Date) As Date
GetFirstDayOfMonth = DateSerial(Year(MyDate), Month(MyDate), 1)
End Function
Public Function GetLastDayOfMonth(ByVal MyDate As Date) As Date
GetLastDayOfMonth = DateSerial(Year(MyDate), Month(MyDate) + 1, 0)
End Function
- 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