begin process at 2012 02 10 03:30:59
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Date/Heure

 > FONCTION CALENDRIER

FONCTION CALENDRIER


 Information sur la source

Note :
9,33 / 10 - par 3 personnes
9,33 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Date/Heure Classé sous :calendrier, asp, css, date, function Niveau :Initié Date de création :11/03/2004 Date de mise à jour :30/11/2005 09:26:38 Vu :20 166

Auteur : TBliss

Ecrire un message privé
Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

 Description

Une fonction qui retourne un calendrier en fonction d'une date passée en paramètre au format suivant 24/11/2003

Source

  • Contenu de cal.asp
  • <%
  • 'Fonction qui retourne la date avec le format suivant 20-Fevrier-2003
  • '--------------------------------------------------------------------
  • Function MediumDate(MaDate)
  • 'Déclaration des variables
  • '-------------------------
  • Dim dayPart, monthPart, yearPart, MonthLib
  • 'Liste des racourssis des mois dans l'ordre
  • '------------------------------------------
  • MonthLib = array ("","Janvier","Fevrier","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre")
  • 'Test de la validité de la date
  • '------------------------------
  • If IsDate(MaDate) Then
  • dayPart = Day(MaDate) 'Je récup le num du jour
  • monthPart = MonthLib(Month( MaDate ))'Je récup le num du mois
  • yearPart = Year( MaDate )'Je récup le num de l'annee
  • MediumDate = dayPart & " " & monthPart & " " & yearPart 'Conténation
  • Else
  • MediumDate = " "
  • End If
  • End Function
  • 'Retourne le calendrier du mois courant de la date passée en parametre
  • '---------------------------------------------------------------------
  • Function Calendrier(DateDuJour)
  • 'Control sur la validité de la date (la date passée en parametre
  • 'doit etre valide sinon on retourne la date d'aujurd'hui
  • '---------------------------------------------------------------
  • If IsDate(DateDuJour)=true then
  • Response.write ""
  • Else
  • DateDuJour = Date()
  • End if
  • 'Decomposition de la date en variables utiles
  • '---------------------------------------------
  • jour = day(DateDuJour) 'numero du jour
  • jour_semaine = weekdayname(weekday(DateDuJour)) 'nom du jour de la semaine
  • NumSemaine = DatePart("ww",DateDuJour) 'numero de la semaine
  • mois = month(DateDuJour) 'numero du mois
  • an = year(DateDuJour) 'numero de l'année
  • ' valeur issue de l'addition ou soustraction du mois du jour en cours
  • '--------------------------------------------------------------------
  • MoisSuivant = DateAdd("m",1,DateDuJour)
  • MoisPrecedent = DateAdd("m",-1,DateDuJour)
  • AfficheDate = MediumDate(DateDuJour)'/!\Appel a la fonction MediumDate/!
  • 'Date du 1er du mois du jour demandé
  • '-----------------------------------
  • DateDebut = DateSerial(an,mois,1)
  • 'je fais une boucle sur la première semaine et je recherche le lundi
  • '-------------------------------------------------------------------
  • for b = DateDebut to DateAdd("d",7,DateDebut)
  • 'lorsque je tombe sur le lundi de la premiere semaine je le recupere
  • '-------------------------------------------------------------------
  • if DatePart("w",b)= 2 then
  • LeLundi = b
  • End if
  • next
  • 'Prémier jour du calendrier
  • '--------------------------
  • PremierDuCal = DateAdd("d",-7,LeLundi)
  • 'Date du Prémier jour du calendrier plus 34 jours
  • '------------------------------------------------
  • Lundi34 = DateAdd("d",34,PremierDuCal)
  • 'je rajoute 34jours pour avoir quelques jours du mois suivant
  • 'Je recupere le numero de semaine pour l'affichage
  • '-------------------------------------------------
  • NumSemaine = DatePart("ww",DateDuJour)
  • NumSemaine = "Semaine n°: " & NumSemaine
  • 'Boucle générale du tablo calendrier pour générer les cellules
  • '-------------------------------------------------------------
  • for i = PremierDuCal to Lundi34
  • 'Si mon compteur est dans les jours du mois démandé j'attribue les bonnes css
  • '----------------------------------------------------------------------------
  • if (i >= DateDebut and i < DateSerial(an,mois+1,1)) then
  • classe = "joursMois"
  • 'Je definit quel est le jour selectionné pour le mettre en surbrillance
  • '----------------------------------------------------------------------
  • if DatePart("d",i)=DatePart("d",DateDuJour) then
  • classe = "JourSelec"
  • end if
  • else
  • classe = "autreMois"
  • end if
  • 'Si j'arrive au dimanche je change de ligne, sinon je continue a faire des cellules
  • '----------------------------------------------------------------------------------
  • if DatePart("w",i)= 1 then
  • cellule = cellule&"<td align=""center"" class="""&classe&"""><a href=""cal.asp?date_agenda="&i&""" class="""&classe&""">"&DatePart("d",i)&"</a></td></tr><tr>"
  • else
  • cellule = cellule&"<td align=""center"" class="""&classe&"""><a href=""cal.asp?date_agenda="&i&""" class="""&classe&""">"&DatePart("d",i)&"</a></td>"
  • end if
  • next
  • 'Variable de debut de tablo
  • '--------------------------
  • tablo1 ="<table border=""0"" width=""154"" align=""center"" class=""Calendrier"">"_
  • &"<tr><td><a href=""cal.asp?date_agenda="&MoisPrecedent&""" class=""changeMois""><b><<</b></a></td><td colspan=""5"" align=""center"">"&AfficheDate&"</td><td><a href=""cal.asp?date_agenda="&MoisSuivant&""" class=""changeMois""><b>>></b></a></td></tr>"_
  • &"<tr><td colspan=""7"" align=""center"">"&NumSemaine&"</td></tr>"_
  • &" <tr bgcolor=""#e0e0e0"">"_
  • &" <td width=""22"" align=""center"" class=""JoursSemaine"">L</td>"_
  • &" <td width=""22"" align=""center"" class=""JoursSemaine"">M</td>"_
  • &" <td width=""22"" align=""center"" class=""JoursSemaine"">M</td>"_
  • &" <td width=""22"" align=""center"" class=""JoursSemaine"">J</td>"_
  • &" <td width=""22"" align=""center"" class=""JoursSemaine"">V</td>"_
  • &" <td width=""22"" align=""center"" class=""JoursSemaine"">S</td>"_
  • &" <td width=""22"" align=""center"" class=""JoursSemaine"">D</td>"_
  • &" </tr>"
  • 'Variable de fin de tablo
  • '------------------------
  • FinTablo1 = "</tr></table>"
  • 'Retour de ma fonction
  • '---------------------
  • Calendrier = tablo1 & cellule & FinTablo1
  • End Function
  • 'Affichage
  • '---------
  • response.write Calendrier("24/11/2003")
  • %>
  • Contenu de calendrier.css
  • /* Feuille de style du calendrier */
  • /*Corps de la page du calendrier*/
  • body {
  • font-family: Arial, Helvetica, sans-serif; font-size: 11px;
  • color:black;background-color: #e5e5e5;
  • text-decoration: none;
  • }
  • /*Aspect du tablo du calendrier*/
  • .Calendrier {
  • font-family: Arial, Helvetica, sans-serif;
  • font-size: 11px;
  • border: 1px solid #cccccc;
  • background-color: #ffffff;
  • text-decoration: none;
  • }
  • /*Aspect des jours de la semaine [L, M, M, J, V, S, D]*/
  • .JoursSemaine {
  • font-family: Arial, Helvetica, sans-serif;
  • padding-left: 2px;
  • padding-right: 2px;
  • padding-top: 2px;
  • padding-bottom: 2px;
  • color: #ffffff;
  • font-size: 10px;
  • font-size: x-small;
  • font-weight:bold;
  • background-color: #c0c0c0;
  • text-decoration: none;
  • }
  • /*Lien pour changer vers mois suivant ou précédent*/
  • .changeMois {
  • font-family: Arial, Helvetica, sans-serif;
  • font-size: 13px;
  • color: #c0c0c0;
  • text-decoration: none;
  • }
  • /*Aspect du jour séléctionné*/
  • .JourSelec {
  • font-family: Arial, Helvetica, sans-serif;
  • font-size: 10px;
  • border-color: #C0c0c0;
  • background-color: #B661A5;
  • color: #ffffff;
  • text-decoration: none;
  • }
  • /*Aspect des jours du mois en cours*/
  • .joursMois {
  • font-family: Arial, Helvetica, sans-serif;
  • font-size: 10px;
  • color: #000000;
  • text-decoration: none;
  • }
  • /*Aspect des jours en dehors du mois en cours*/
  • .autreMois {
  • font-family: Arial, Helvetica, sans-serif;
  • font-size: 10px;
  • color: #c0c0c0;
  • background-color: #F2F3FA;
  • text-decoration: none;
  • }
  • .Form {
  • font-family: Arial, Helvetica, sans-serif;
  • font-size: 11px;
  • border: 1px solid #CCCCCC;
  • }
Contenu de cal.asp

<%
'Fonction qui retourne la date avec le format suivant 20-Fevrier-2003
'--------------------------------------------------------------------
Function MediumDate(MaDate)
	
		'Déclaration des variables
		'-------------------------
		Dim dayPart, monthPart, yearPart, MonthLib
		
		'Liste des racourssis des mois dans l'ordre 
		'------------------------------------------
		MonthLib = array ("","Janvier","Fevrier","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre")
		
		'Test de la validité de la date
		'------------------------------
		If IsDate(MaDate) Then		
			dayPart   = Day(MaDate) 'Je récup le num du jour
			monthPart = MonthLib(Month( MaDate ))'Je récup le num du mois
			yearPart  = Year( MaDate )'Je récup le num de l'annee		
			MediumDate = dayPart & " " & monthPart & " " & yearPart 'Conténation	
		Else		
			MediumDate = " "		
		End If    
		
	End Function

'Retourne le calendrier du mois courant de la date passée en parametre
'---------------------------------------------------------------------
Function Calendrier(DateDuJour)
	
	'Control sur la validité de la date (la date passée en parametre 
        'doit etre valide sinon on retourne la date d'aujurd'hui
	'---------------------------------------------------------------
	If IsDate(DateDuJour)=true then
		Response.write ""
	Else
		DateDuJour = Date()
	End if
	
		'Decomposition de la date en variables utiles
		'---------------------------------------------
	    jour			= day(DateDuJour)					'numero du jour
		jour_semaine	= weekdayname(weekday(DateDuJour))	'nom du jour de la semaine
		NumSemaine		= DatePart("ww",DateDuJour)			'numero de la semaine
		mois			= month(DateDuJour)					'numero du mois
	    an				= year(DateDuJour)					'numero de l'année

		' valeur issue de l'addition ou soustraction du mois du jour en cours
		'--------------------------------------------------------------------
		MoisSuivant 	= DateAdd("m",1,DateDuJour)
		MoisPrecedent 	= DateAdd("m",-1,DateDuJour)
		AfficheDate 	= MediumDate(DateDuJour)'/!\Appel a la fonction MediumDate/!	
		'Date du 1er du mois du jour demandé
		'-----------------------------------
		DateDebut = DateSerial(an,mois,1)

		'je fais une boucle sur la première semaine et je recherche le lundi
		'-------------------------------------------------------------------
		for b = DateDebut to DateAdd("d",7,DateDebut)
			'lorsque je tombe sur le lundi de la premiere semaine je le recupere
			'-------------------------------------------------------------------
			if DatePart("w",b)= 2 then
			LeLundi = b
			End if
		
		next
		
		'Prémier jour du calendrier
		'--------------------------
		PremierDuCal = DateAdd("d",-7,LeLundi)
		
		'Date du Prémier jour du calendrier plus 34 jours
		'------------------------------------------------
		Lundi34 = DateAdd("d",34,PremierDuCal)
                'je rajoute 34jours pour avoir quelques jours du mois suivant
		
		'Je recupere le numero de semaine pour l'affichage
		'-------------------------------------------------
		NumSemaine = DatePart("ww",DateDuJour)
		NumSemaine = "Semaine n°: " & NumSemaine
		
		'Boucle générale du tablo calendrier pour générer les cellules
		'-------------------------------------------------------------
		for i = PremierDuCal to Lundi34
			
			'Si mon compteur est dans les jours du mois démandé j'attribue les bonnes css
			'----------------------------------------------------------------------------
			if (i >= DateDebut and i < DateSerial(an,mois+1,1)) then
					classe = "joursMois"
					'Je definit quel est le jour selectionné pour le mettre en surbrillance
					'----------------------------------------------------------------------
					if DatePart("d",i)=DatePart("d",DateDuJour) then
					 classe = "JourSelec"					 					 
					end if
				else
					classe = "autreMois"					
			end if
						
			'Si j'arrive au dimanche je change de ligne, sinon je continue a faire des cellules
			'----------------------------------------------------------------------------------		
			if  DatePart("w",i)= 1 then			
					cellule = cellule&"<td align=""center"" class="""&classe&"""><a href=""cal.asp?date_agenda="&i&"""  class="""&classe&""">"&DatePart("d",i)&"</a></td></tr><tr>"
				else			
					cellule = cellule&"<td align=""center"" class="""&classe&"""><a href=""cal.asp?date_agenda="&i&"""  class="""&classe&""">"&DatePart("d",i)&"</a></td>"
			end if
			
		next
		
		'Variable de debut de tablo
		'--------------------------		
		tablo1 		="<table border=""0"" width=""154"" align=""center"" class=""Calendrier"">"_
					&"<tr><td><a href=""cal.asp?date_agenda="&MoisPrecedent&""" class=""changeMois""><b><<</b></a></td><td colspan=""5"" align=""center"">"&AfficheDate&"</td><td><a href=""cal.asp?date_agenda="&MoisSuivant&""" class=""changeMois""><b>>></b></a></td></tr>"_
					&"<tr><td colspan=""7"" align=""center"">"&NumSemaine&"</td></tr>"_
					&"  <tr bgcolor=""#e0e0e0"">"_
					&"    <td width=""22"" align=""center"" class=""JoursSemaine"">L</td>"_
					&"    <td width=""22"" align=""center"" class=""JoursSemaine"">M</td>"_
					&"    <td width=""22"" align=""center"" class=""JoursSemaine"">M</td>"_
					&"    <td width=""22"" align=""center"" class=""JoursSemaine"">J</td>"_
					&"    <td width=""22"" align=""center"" class=""JoursSemaine"">V</td>"_
					&"    <td width=""22"" align=""center"" class=""JoursSemaine"">S</td>"_
					&"    <td width=""22"" align=""center"" class=""JoursSemaine"">D</td>"_
					&"  </tr>"
		
		'Variable de fin de tablo
		'------------------------			
		FinTablo1 = "</tr></table>"
			
	'Retour de ma fonction
	'---------------------
	Calendrier = tablo1 & cellule & FinTablo1
	
End Function

'Affichage
'---------
response.write Calendrier("24/11/2003")
%>

Contenu de calendrier.css

/*                             Feuille de style du calendrier                             */

/*Corps de la page du calendrier*/
body {
font-family: Arial, Helvetica, sans-serif; font-size: 11px;
color:black;background-color: #e5e5e5;
text-decoration: none;
}

/*Aspect du tablo du calendrier*/
.Calendrier {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11px;
	border: 1px solid #cccccc;
	background-color: #ffffff;
	text-decoration: none;
}

/*Aspect des jours de la semaine [L, M, M, J, V, S, D]*/
.JoursSemaine {
	font-family: Arial, Helvetica, sans-serif;
	padding-left: 2px;
	padding-right: 2px;
	padding-top: 2px; 
	padding-bottom: 2px;
	color: #ffffff;
	font-size: 10px;
	font-size: x-small;
	font-weight:bold;
	background-color: #c0c0c0;
	text-decoration: none;
}

/*Lien pour changer vers mois suivant ou précédent*/
.changeMois {
font-family: Arial, Helvetica, sans-serif;
font-size: 13px;
color: #c0c0c0;
text-decoration: none;
}

/*Aspect du jour séléctionné*/
.JourSelec {
font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
border-color: #C0c0c0;
background-color: #B661A5;
color: #ffffff;
text-decoration: none;
}

/*Aspect des jours du mois en cours*/
.joursMois {
font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
color: #000000;
text-decoration: none;
}

/*Aspect des jours en dehors du mois en cours*/
.autreMois {
font-family: Arial, Helvetica, sans-serif;
font-size: 10px;
color: #c0c0c0;
background-color: #F2F3FA;
text-decoration: none;
}
.Form {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11px;
	border: 1px solid #CCCCCC;
}

 Conclusion

Elle peut sans aucun doute être optimisée. A savoir qu'elle fait appel a une autre fonction et se sert de css pour l'affichage.
L'appel au fichier css sera a faire dans l'entête de votre page.
Les css servent a faire la différence des jours de début et fin de mois, et bien sur a rendre joli votre calendrier ;)
Sans avoir la pretention de dire que c'est une sorte de contrôle calendar sans .net j'espere qu'elle vous sera utile...


 Historique

30 novembre 2005 09:26:38 :
Mise à jour le : Calendrier("29/11/2005") ;)

 Sources de la même categorie

CONVERSION D'UNE DATE/HEURE STANDARD VERS DATE/HEURE CONFORM... par processus
CALCUL DE L'AGE D'UNE PERSONNE (ASP VBSCRIPT) par bluedemon
CONVERSION DE GMT À LOCAL ET DE LOCAL À GMT par revolt
Source avec Zip CALENDRIER DYNAMIQUE AVEC JOURS FERIES par label97
SAISIR DATE FR DANS MYSQL par jeckel

 Sources en rapport avec celle ci

CLASSE IMBRIQUÉS EN VBSCRIPT DE DOSSIERS (APPLICABLE ASP) par internetdev
Source avec Zip GESTION D'UNE BIBLIOTHÈQUE par Elmarzougui
Source avec Zip UN MODULE POUR APPRENDRE SQL par Elmarzougui
Source avec Zip CALENDRIER DYNAMIQUE AVEC JOURS FERIES par label97
Source avec Zip [MAJ] ENCORE 1 CALENDRIER PERPETUEL MAIS AVEC UTILISATION DI... par garfield90

Commentaires et avis

Commentaire de DjZebulon le 21/04/2004 14:52:44

Je le trouve tres bien, il est sympa !!, je vais essayé de rajouter la gestion des fetes et de la lune et je te fais parvenir le tout

Commentaire de TBliss le 18/05/2004 17:02:57

Fais toi plaisir DjZebulon, sans aucun doute tu vas bien l'améliorer ;)

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Select sur date dans un ASP [ par Jacques76 ] J'ai sur mon serveur un fichier Access avec une zone date (type date/time).Je l'interroge avec des pages .asp . J'ai un problème pour faire un select Formatage d une date pour ASP [ par flo62100 ] Bonjour a tousVoila je voudrais savoir comment on fromate le contenu d un textbox en DAte pour pouvoir l utiliser en parametre d une requete SQLMerci Help Calendrier Js + ASP [ par Biboune ] Je voudrais faire un calendrier qui combine Javascript et ASP. Je souhaiterais avoir sur une page les douze mois de l'année du style :Mois/Jour 1 2 3 conversion de date 03/08/04 en 03/08/2004 [ par nicerico ] bonjour,je recupere d'une bdd mssql une date en delphije la transforme en type 03/07/04 avec cette fonction :code:&lt;SCRIPT RUNAT=SERVER LANGUAGE=VBS Mettre une protection sur une page [ par joel_ ] Bonjour à tous,Voilà, je suis nouveau ici et j'ai un petit soucis.je ne suis pas calé en programmation et j'ai découvert format asp depuis hier pour v Ouvrir une nouvelle fenêtre en cliquant dans un calendrier dans ASP.NET. [ par micmc ] Bonjour,Je voudrais à partir d'un calendrier faire une gestion de planning :Quand nous changeons la date du calendrier : il ouvre une popup avec la pl Pb requête avec date [ par onha ] Bonjour à vous tous,Après avoir été sur tous les sites asp, je n'arrive pas à résoudre mon problème.J'ai une premiére page ou je demande la date de re sql access + asp recupérer la dernier ligne selon une date dans une tablea accessè [ par Meduse ] ICIcomment avec une requette récuperer le dernier enregistrement (complet) (dans une page asp) d'un table access avec un clef primaire id dans champ n trie par date dans une base de donné [ par ManuAntibes ] Salut j'ai cree une page recherche facture.Ma recherche se fait par Nom du client ,&nbsp; date de d&#233;but , et date de fin.Le resultat de ma recher Popup...récupérer une date d'un calendrier dans une popup en cliquant sur un bouton [ par asp_shamai ] salut &#224; tous...j'ai&nbsp; un probl&#232;me, j'ai voulu remplacer le lien "afficher calendrier" relatif au code publi&#233; sur "RECUPERER LA DATE


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales