Calendrier

Contenu du snippet

Un script ASP qui vous propose un petit calendrier avec choix du mois et de l'année.

Vous pouvez le décortiquer pour l'adapter à vos besoin.

P.S. : Gère le 29 février :)

Source / Exemple :


<%
dim dd
dim mm
dim yy
dim annee
dim jour
dim nbjour
dim mois(12)
dim nomjour(7)
dim seljour
dim selmois
dim selannee
dim strselannee
dim j
dim r

dim bgcol(44)
dim txtcol(44)
dim txtdt(44)
dim c
dim url
dim furl

dt=date()

jour=weekday(dt)

nomjour(1)="Lundi"
nomjour(2)="Mardi"
nomjour(3)="Mercredi"
nomjour(4)="Jeudi"
nomjour(5)="Vendredi"
nomjour(6)="Samedi"
nomjour(7)="Dimanche"

dd=cint(mid(dt,1,2))
mm=cint(mid(dt,4,2))
yy=cint(mid(dt,7,4))

mois(1)="janvier"
mois(2)="février"
mois(3)="mars"
mois(4)="avril"
mois(5)="mai"
mois(6)="juin"
mois(7)="juillet"
mois(8)="août"
mois(9)="septembre"
mois(10)="octobre"
mois(11)="novembre"
mois(12)="décembre"

if request.querystring("jour")<>"" then
	seljour=cint(mid(request.querystring("jour"),1,2))
	selmois=cint(mid(request.querystring("jour"),4,2))
	selannee=cint(mid(request.querystring("jour"),7,4))
else
	seljour=dd
	selmois=mm
	selannee=yy
end if

if len(cstr(yy))<4 then
	annee=cstr(2000+yy)
else
	annee=cstr(yy)
end if

if len(cstr(selannee))<4 then
	strselannee=cstr(2000+selannee)
else
	strselannee=cstr(selannee)
end if

select case selmois
	case 1,3,5,7,8,10,12
		nbjour=31
	case 4,6,9,11
		nbjour=30
	case 2
            If IsDate("29" & "/02/" & strselannee ) Then nbjour = 29 Else nbjour = 28
end select

'Initialise le calendrier du mois
j=weekday("01/" & mois(selmois) & "/" & selannee)
j=j-1
if j=0 then j=7

for r=1 to j
	bgcol(r)="#dddddd"
	txtcol(r)=""
	txtdt(r)="&nbsp;"
next
c=1
for r=j to 42
	url=string(2-len(cstr(c)),"0") & c
	url=url & "/" & string(2-len(cstr(selmois)),"0") & selmois
	url=url & "/" & string(4-len(cstr(selannee)),"0") & selannee

	bgcol(r)="#FFFFFF"
	txtcol(r)="#FF0000"
	if c>nbjour then
		bgcol(r)="#dddddd"
		txtdt(r)="&nbsp;"
	else
		txtdt(r)="<center><a href=""calendar.asp?jour=" & url & """>" & c & "</a></center>"

		if c=dd and selmois=mm and selannee=yy then
			bgcol(r)="#770000"
			txtcol(r)="#FFFFFF"
			txtdt(r)="<center>" & c & "</center>"
		end if

		if c=seljour then
			bgcol(r)="#007700"
			txtcol(r)="#FFFFCC"
			txtdt(r)="<center><b>" & c & "<b></center>"
		end if

	end if
	c=c+1
next

%>
<html><title>Calendrier</title>
<script language="javascript">
function changecal()
{
window.open('calendar.asp?jour=01/' + document.form.mois.value + '/' + document.form.annee.value,'_self');
}
</script>
<STYLE>
a:link{color:#186194;text-decoration:none;}
a:visited{color:#186194;text-decoration:none;}
a:hover{color:#00795a;text-decoration:underline;}
</style>
<body bgcolor="#FFFFFF">
<form method="post" action="" name="form">
  <div align="center"><br>
    <table width="115" border="0">
      <tr> 
        <td width="33%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b>Mois 
          </b></font></td>
        <td width="33%"><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b> 
          Année</b></font></td>
        <td width="33%">&nbsp;</td>
      </tr>
      <tr> 
        <td width="33%"> 
          <div align="left"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b> 
            <select name="mois">
              <%
for r=1 to 12
	if selmois=r then
%> 
              <option value="<%=string(2-len(cstr(r)),"0") & r%>" selected><%=mois(r)%></option>
              <%
else
%> 
              <option value="<%=string(2-len(cstr(r)),"0") & r%>"><%=mois(r)%></option>
              <%
end if
next
%> 
            </select>
            </b> </font> </div>
        </td>
        <td width="33%"> 
          <div align="left"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b> 
            <select name="annee">
              <%
for r=2000 to 2020
	if strselannee=cstr(r) then
%> 
              <option value="<%=r%>" selected><%=r%></option>
              <%
else
%> 
              <option value="<%=r%>"><%=r%></option>
              <%
end if
next
%> 
            </select>
            </b></font></div>
        </td>
        <td width="33%"> 
          <div align="right"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
            <input type="button" name="btn" value="=>" onclick="javascript:changecal();">
            </font></div>
        </td>
      </tr>
      <tr> 
        <td colspan="3"> 
          <hr>
        </td>
      </tr>
      <tr bgcolor="#770000"> 
        <td colspan="3"> 
          <div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC">Vue 
            en cours<br>
            <b>le <%=seljour & " " & mois(selmois) & " " & strselannee%></b></font></div>
        </td>
      </tr>
      <tr> 
        <td colspan="3"> 
          <table width="100%" border="1" align="center">
            <tr bgcolor="186194" align="center" valign="middle"> 
              <td width="20"> 
                <div align="center"><font color="#FFFFCC" size="1"><b><font face="Verdana, Arial, Helvetica, sans-serif">L</font></b></font></div>
              </td>
              <td width="20"> 
                <div align="center"><font color="#FFFFCC" size="1"><b><font face="Verdana, Arial, Helvetica, sans-serif">M</font></b></font></div>
              </td>
              <td width="20"> 
                <div align="center"><font color="#FFFFCC" size="1"><b><font face="Verdana, Arial, Helvetica, sans-serif">M</font></b></font></div>
              </td>
              <td width="20"> 
                <div align="center"><font color="#FFFFCC" size="1"><b><font face="Verdana, Arial, Helvetica, sans-serif">J</font></b></font></div>
              </td>
              <td width="20"> 
                <div align="center"><font color="#FFFFCC" size="1"><b><font face="Verdana, Arial, Helvetica, sans-serif">V</font></b></font></div>
              </td>
              <td width="20"> 
                <div align="center"><font color="#FFFFCC" size="1"><b><font face="Verdana, Arial, Helvetica, sans-serif">S</font></b></font></div>
              </td>
              <td width="20"> 
                <div align="center"><font color="#FFFFCC" size="1"><b><font face="Verdana, Arial, Helvetica, sans-serif">D</font></b></font></div>
              </td>
            </tr>
            <tr> <%
for r=1 to 7
%> 
              <td width="20" bgcolor="<%=bgcol(r)%>" align="center"><font size="1" face="verdana" color="<%=txtcol(r)%>"><%=txtdt(r)%></font></td>
              <%
next
%> </tr>
            <tr> <%
for r=8 to 14
%> 
              <td width="20" bgcolor="<%=bgcol(r)%>" align="center"><font size="1" face="verdana" color="<%=txtcol(r)%>"><%=txtdt(r)%></font></td>
              <%
next
%> </tr>
            <tr> <%
for r=15 to 21
%> 
              <td width="20" bgcolor="<%=bgcol(r)%>" align="center"><font size="1" face="verdana" color="<%=txtcol(r)%>"><%=txtdt(r)%></font></td>
              <%
next
%> </tr>
            <tr> <%
for r=22 to 28
%> 
              <td width="20" bgcolor="<%=bgcol(r)%>" align="center"><font size="1" face="verdana" color="<%=txtcol(r)%>"><%=txtdt(r)%></font></td>
              <%
next
%> </tr>
            <tr> <%
for r=29 to 35
%> 
              <td width="20" bgcolor="<%=bgcol(r)%>" align="center"><font size="1" face="verdana" color="<%=txtcol(r)%>"><%=txtdt(r)%></font></td>
              <%
next
%> </tr>
            <%
for r=36 to 42
%> 
            <td width="20" bgcolor="<%=bgcol(r)%>" align="center"><font size="1" face="verdana" color="<%=txtcol(r)%>"><%=txtdt(r)%></font></td>
            <%
next
%> </tr>
          </table>
        </td>
      </tr>
      <tr> 
        <td colspan="3"> 
          <hr>
        </td>
      </tr>
      <tr> 
        <td colspan="3"> 
          <div align="center"></div>
          <div align="center"></div>
          <div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Nous 
            sommes le<br>
            <b><font color="#FF0000"><%= nomjour(jour-1) & " " & dd & " " & mois(mm) & " " & annee%> 
            </font></b></font><font size="2" face="Verdana, Arial, Helvetica, sans-serif"><b><font color="#FF0000"> 
            </font> </b> </font> </div>
        </td>
      </tr>
    </table>
  </div>
  </form>
<br>
</html>

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.