Bonjour,
J'utilise la classe d'objet "MSCAL.Calendar.7".
Je souhaiterai griser les jours fériés et les weekends dans ce calendrier.
Est-ce possible ? Si oui, comment dois-je procéder ?
Merci beaucoup![]()
Bonjour,
J'utilise la classe d'objet "MSCAL.Calendar.7".
Je souhaiterai griser les jours fériés et les weekends dans ce calendrier.
Est-ce possible ? Si oui, comment dois-je procéder ?
Merci beaucoup![]()
Salut,
Je ne pense pas que ce soit possible avec ce controle directement par le VBA.
J'ai regardé rapidement et je n'ai pas vu de sous objet correspondant aux jours (donc on ne peut pas mettre en forme les jours de manière differente).
Si c'est vraiement ce que tu veux faire il te faut donc chercher un autre controle sur le net qui soit plus "customizable".
Lionel
Merci pour cette réponse. :
J'ai cherché sur le net un calendrier qui ferait l'affaire, mais sans succès.
Quel calendrier me conseilleriez-vous ?
Merci d'avance![]()
Bonjour,
je pense aussi que griser les cases est impossible, par contre tu peux donner une couleur de fond rouge (par exemple) lors du click sur une date; je travaille comme cela et c'est marquant.
Tu peux travailler comme ci-dessous:
Dimensionne en global la variable congé
Dans le form_load (après avoir créer une table "T_Congé" et colonne 'DateCongé' en tant que date) qui reprend les congés sauf WE
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Option Compare Database Dim Congé As String
Pour chaque calendrier (moi 2), au click tu place le code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 'lire les congés légaux Dim Lecture As DAO.Recordset Set Lecture = CurrentDb.OpenRecordset("T_Congé") Congé = "-" Do While Not Lecture.EOF Lecture.Edit Congé = Congé & Lecture("DateCongé") & "-" Lecture.MoveNext Loop Lecture.Close
Cela signifie que si la date cliquée se retrouve dans la table congé ou correspond à un WE, le calendrier devient rouge sinon normal.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Private Sub CalendarDébut_Click() 'vérifier si Samedi ou dimanche a = Weekday(CalendarDébut.Value, vbMonday) If a < 6 And InStr(1, Congé, "-" & CalendarDébut.Value) = 0 Then 'si semaine CalendarDébut.BackColor = -2147483633 Else 'si WE ou jour ferié CalendarDébut.BackColor = 255 End If End Sub
Bonne journée.
Salut,
Je ne sais pas s'il en existe des bons directement conçus pour Access qui supportent la mise en forme d'un jour particulier... (en tous cas je n'en connais pas)
Par contre il y en a beaucoup pour les pages web.
Par exemple:
http://developer.yahoo.com/yui/calendar/
http://code.google.com/intl/fr-FR/ap...ndar/overview/
Si tu est vraiment très motivé cela devrait pouvoir être adaptable. Mais c'est un peu compliqué...!
Je pense que le plus simple serait de faire un objet "Microsoft Web Browser" dans ton formulaire et le faire pointer vers une page ou tu aurais ton calendrier. Cette page pourrait être en local sur ton disque dur.
Mais pour résumer, je pense qu'il va te falloir ruser ou revoir les ambitions à la baisse car ce serait beaucoup d'effort...!
Partager