Accueil > > > CALENDRIER SOUS ACCES 2000
CALENDRIER SOUS ACCES 2000
Information sur la source
Description
Vous en avez marre de taper des dates ? Avec un formulaire et un module, vous pourrez ajouter un calendrier à vos applications. Il gère les jours fériés, un affichage different pour les jours ouvrés. Pour les jours ouvrés j'ai choisi de passer par un fichier ".ini" car je me sers du calendrier comme complément installé. ce qui permet à l'utilsateur final de modifier les jours ouvrés sans avoir acces aux sources. Inserez : Zone_a_dater = calendrier(zone_a_dater) Le parametre permet d'afficher la date qu'il y a dans la zone avant d'afficher le calendrier, si vous ne passez rien, le calendrier par de la date systeme de votre ordi. Manipulation: - echap pour annuler - double clic ou touche entrée pour valider - déplacement avec les fleches directionnelles possible - pageup/down fait descendre/monter dans les mois bon ok, c pas terrible, mais depuis que je pompe des trucs ici, je me devais de mettre qqchose. Destiné aux débutans, ou aux fleimards comme moi.
Source
- '
- ' CALENDRIER
- ' JerryMcFly - 08/04/2000
- '
-
- Option Compare Database
-
-
- '*
- '* Définition des parametres et variables
- '*
-
- '### Parametres : Jours Ouvrés
- Public JO1 As Boolean
- Public JO2 As Boolean
- Public JO3 As Boolean
- Public JO4 As Boolean
- Public JO5 As Boolean
- Public JO6 As Boolean
- Public JO7 As Boolean
-
- '### Constantes : Couleurs
- Const Couleur_Jour_NO = 13209
- Const Couleur_Jour_O = 0
-
- '### Varaibles
- Public Vdate As String
- Public Vjour As Integer
- Public Vsemaine As Integer
- Public Vmois As Integer
- Public Vannée As Long
- Public Vprem_jour As Integer
- Public Vnb_jours As Integer
-
- '### Initialisation des parametres
- Private Function init_param()
- JO1 = GetIni("JOURS OUVRES", "Lundi", CurrentProject.Path & "\parametres\Calendrier.ini")
- JO2 = GetIni("JOURS OUVRES", "Mardi", CurrentProject.Path & "\parametres\Calendrier.ini")
- JO3 = GetIni("JOURS OUVRES", "Mercredi", CurrentProject.Path & "\parametres\Calendrier.ini")
- JO4 = GetIni("JOURS OUVRES", "Jeudi", CurrentProject.Path & "\parametres\Calendrier.ini")
- JO5 = GetIni("JOURS OUVRES", "Vendredi", CurrentProject.Path & "\parametres\Calendrier.ini")
- JO6 = GetIni("JOURS OUVRES", "Samedi", CurrentProject.Path & "\parametres\Calendrier.ini")
- JO7 = GetIni("JOURS OUVRES", "Dimanche", CurrentProject.Path & "\parametres\Calendrier.ini")
- End Function
-
- '### 1ere Initialisation du calendrier a l'ouverture
- Private Sub Form_Load()
- init_param
- calc_var
- End Sub
-
- '*
- '* Capture des evenements Clavier
- '*
- Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
- Select Case KeyCode
- 'annulation - validation
- Case vbKeyEscape: Vdate = "": Me.Visible = False
- Case vbKeyReturn: Me.Visible = False
- 'deplacement dans les jours
- Case vbKeyRight: Vdate = DateAdd("d", 1, Vdate): calc_var
- Case vbKeyLeft: Vdate = DateAdd("d", -1, Vdate): calc_var
- 'deplacement dans les semaines
- Case vbKeyDown: Vdate = DateAdd("d", 7, Vdate): calc_var
- Case vbKeyUp: Vdate = DateAdd("d", -7, Vdate): calc_var
- 'deplacement dans les mois
- Case vbKeyPageUp: Vdate = DateAdd("m", -1, Vdate): calc_var
- Case vbKeyPageDown: Vdate = DateAdd("m", 1, Vdate): calc_var
- End Select
- KeyCode = 0
- End Sub
-
-
-
- '*
- '* FONCTION PRINCIPALE : calcul des variables et affichage du calendrier
- '*
- Private Function calc_var()
- Dim PT As Integer: Dim PTCase As String
-
- If Vdate = "" Or IsNull(Vdate) Then Vdate = Date
- Vjour = CInt(Day(Vdate))
- Vmois = CInt(Month(Vdate))
- Vannée = CLng(Year(Vdate))
- Vprem_jour = CInt(Weekday("01/" & Vmois & "/" & Vannée, vbMonday))
- Vnb_jours = CInt((DateAdd("m", 1, "01/" & Vmois & "/" & Vannée) _
- - (CDate("01/" & Vmois & "/" & Vannée))))
-
- 'Masquage de toutes les cases
- For PT = 1 To 42
- PTCase = "J" & Format(PT, "00")
- Me(PTCase).BorderStyle = 0
- Me(PTCase).Visible = False
- Next
-
- 'Affichage des jours
- For PT = 1 To Vnb_jours
- PTCase = "J" & Format(PT + Vprem_jour - 1, "00")
- With Me(PTCase)
- .ForeColor = Couleur_jour(PT & "/" & Vmois & "/" & Vannée)
- If Ferié(PT & "/" & Vmois & "/" & Vannée) Then .ForeColor = Couleur_Jour_NO
- .Caption = PT
- .Visible = True
- If PT = Vjour Then .BorderStyle = 1
- End With
- Next
- ListMois = Vmois
- SelAnnée = Vannée
- End Function
-
- '*
- '* SS Fonction, renvoie la couleur du jour en Fonction de Jour ouvré OUI/NON
- '*
- Private Function Couleur_jour(Journée) As Long
- Couleur_jour = Couleur_Jour_NO
- Select Case Weekday(Journée, vbMonday)
- Case 1: If JO1 Then Couleur_jour = Couleur_Jour_O
- Case 2: If JO2 Then Couleur_jour = Couleur_Jour_O
- Case 3: If JO3 Then Couleur_jour = Couleur_Jour_O
- Case 4: If JO4 Then Couleur_jour = Couleur_Jour_O
- Case 5: If JO5 Then Couleur_jour = Couleur_Jour_O
- Case 6: If JO6 Then Couleur_jour = Couleur_Jour_O
- Case 7: If JO7 Then Couleur_jour = Couleur_Jour_O
- End Select
- End Function
-
- '*
- '* SS Fonction, encadre le jour demandé
- '*
- Private Function Eff_Bords(JS As Integer)
- 'Masquage de tous les contours
- For i = 1 To 42
- Icase = "J" & Format(i, "00")
- Me(Icase).BorderStyle = 0
- If i = JS Then Me(Icase).BorderStyle = 1
- Next
- Icase = "J" & Format(JS, "00")
- Vdate = JS - Vprem_jour + 1 & "/" & Vmois & "/" & Vannée
- Do While Not Me(Icase).Visible
- JS = JS - 1
- Vdate = JS - Vprem_jour + 1 & "/" & Vmois & "/" & Vannée
- Loop
- End Function
-
- '*
- '* Déplacements dans les Mois et années par les contrôles du formulaire
- '*
- Private Sub ListMois_AfterUpdate()
- Vdate = DateAdd("m", ListMois - Vmois, Vdate): calc_var
- End Sub
- Private Sub SpinMois_SpinDown()
- Vdate = DateAdd("yyyy", -1, Vdate): calc_var
- End Sub
- Private Sub SpinMois_SpinUp()
- Vdate = DateAdd("yyyy", 1, Vdate): calc_var
- End Sub
-
'
' CALENDRIER
' JerryMcFly - 08/04/2000
'
Option Compare Database
'*
'* Définition des parametres et variables
'*
'### Parametres : Jours Ouvrés
Public JO1 As Boolean
Public JO2 As Boolean
Public JO3 As Boolean
Public JO4 As Boolean
Public JO5 As Boolean
Public JO6 As Boolean
Public JO7 As Boolean
'### Constantes : Couleurs
Const Couleur_Jour_NO = 13209
Const Couleur_Jour_O = 0
'### Varaibles
Public Vdate As String
Public Vjour As Integer
Public Vsemaine As Integer
Public Vmois As Integer
Public Vannée As Long
Public Vprem_jour As Integer
Public Vnb_jours As Integer
'### Initialisation des parametres
Private Function init_param()
JO1 = GetIni("JOURS OUVRES", "Lundi", CurrentProject.Path & "\parametres\Calendrier.ini")
JO2 = GetIni("JOURS OUVRES", "Mardi", CurrentProject.Path & "\parametres\Calendrier.ini")
JO3 = GetIni("JOURS OUVRES", "Mercredi", CurrentProject.Path & "\parametres\Calendrier.ini")
JO4 = GetIni("JOURS OUVRES", "Jeudi", CurrentProject.Path & "\parametres\Calendrier.ini")
JO5 = GetIni("JOURS OUVRES", "Vendredi", CurrentProject.Path & "\parametres\Calendrier.ini")
JO6 = GetIni("JOURS OUVRES", "Samedi", CurrentProject.Path & "\parametres\Calendrier.ini")
JO7 = GetIni("JOURS OUVRES", "Dimanche", CurrentProject.Path & "\parametres\Calendrier.ini")
End Function
'### 1ere Initialisation du calendrier a l'ouverture
Private Sub Form_Load()
init_param
calc_var
End Sub
'*
'* Capture des evenements Clavier
'*
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
'annulation - validation
Case vbKeyEscape: Vdate = "": Me.Visible = False
Case vbKeyReturn: Me.Visible = False
'deplacement dans les jours
Case vbKeyRight: Vdate = DateAdd("d", 1, Vdate): calc_var
Case vbKeyLeft: Vdate = DateAdd("d", -1, Vdate): calc_var
'deplacement dans les semaines
Case vbKeyDown: Vdate = DateAdd("d", 7, Vdate): calc_var
Case vbKeyUp: Vdate = DateAdd("d", -7, Vdate): calc_var
'deplacement dans les mois
Case vbKeyPageUp: Vdate = DateAdd("m", -1, Vdate): calc_var
Case vbKeyPageDown: Vdate = DateAdd("m", 1, Vdate): calc_var
End Select
KeyCode = 0
End Sub
'*
'* FONCTION PRINCIPALE : calcul des variables et affichage du calendrier
'*
Private Function calc_var()
Dim PT As Integer: Dim PTCase As String
If Vdate = "" Or IsNull(Vdate) Then Vdate = Date
Vjour = CInt(Day(Vdate))
Vmois = CInt(Month(Vdate))
Vannée = CLng(Year(Vdate))
Vprem_jour = CInt(Weekday("01/" & Vmois & "/" & Vannée, vbMonday))
Vnb_jours = CInt((DateAdd("m", 1, "01/" & Vmois & "/" & Vannée) _
- (CDate("01/" & Vmois & "/" & Vannée))))
'Masquage de toutes les cases
For PT = 1 To 42
PTCase = "J" & Format(PT, "00")
Me(PTCase).BorderStyle = 0
Me(PTCase).Visible = False
Next
'Affichage des jours
For PT = 1 To Vnb_jours
PTCase = "J" & Format(PT + Vprem_jour - 1, "00")
With Me(PTCase)
.ForeColor = Couleur_jour(PT & "/" & Vmois & "/" & Vannée)
If Ferié(PT & "/" & Vmois & "/" & Vannée) Then .ForeColor = Couleur_Jour_NO
.Caption = PT
.Visible = True
If PT = Vjour Then .BorderStyle = 1
End With
Next
ListMois = Vmois
SelAnnée = Vannée
End Function
'*
'* SS Fonction, renvoie la couleur du jour en Fonction de Jour ouvré OUI/NON
'*
Private Function Couleur_jour(Journée) As Long
Couleur_jour = Couleur_Jour_NO
Select Case Weekday(Journée, vbMonday)
Case 1: If JO1 Then Couleur_jour = Couleur_Jour_O
Case 2: If JO2 Then Couleur_jour = Couleur_Jour_O
Case 3: If JO3 Then Couleur_jour = Couleur_Jour_O
Case 4: If JO4 Then Couleur_jour = Couleur_Jour_O
Case 5: If JO5 Then Couleur_jour = Couleur_Jour_O
Case 6: If JO6 Then Couleur_jour = Couleur_Jour_O
Case 7: If JO7 Then Couleur_jour = Couleur_Jour_O
End Select
End Function
'*
'* SS Fonction, encadre le jour demandé
'*
Private Function Eff_Bords(JS As Integer)
'Masquage de tous les contours
For i = 1 To 42
Icase = "J" & Format(i, "00")
Me(Icase).BorderStyle = 0
If i = JS Then Me(Icase).BorderStyle = 1
Next
Icase = "J" & Format(JS, "00")
Vdate = JS - Vprem_jour + 1 & "/" & Vmois & "/" & Vannée
Do While Not Me(Icase).Visible
JS = JS - 1
Vdate = JS - Vprem_jour + 1 & "/" & Vmois & "/" & Vannée
Loop
End Function
'*
'* Déplacements dans les Mois et années par les contrôles du formulaire
'*
Private Sub ListMois_AfterUpdate()
Vdate = DateAdd("m", ListMois - Vmois, Vdate): calc_var
End Sub
Private Sub SpinMois_SpinDown()
Vdate = DateAdd("yyyy", -1, Vdate): calc_var
End Sub
Private Sub SpinMois_SpinUp()
Vdate = DateAdd("yyyy", 1, Vdate): calc_var
End Sub
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
[FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
VB6 + GRAPHVIZVB6 + GRAPHVIZ par nouirayosra
Cliquez pour lire la suite par nouirayosra
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|