N° du jour (a la façon d'excel)

Contenu du snippet

la fonction DateDuJour vous permet de retrouver le n° d'ordre du jour depuis 1900, comme Excel.

a++

Source / Exemple :


Function DateDuJour(Valeur)
	dim Année
	dim Mois
	dim Jour
	dim NbJour
	dim NbAnBissex
	dim BissexF
	dim BissexI
	dim Bissex
	
	Année=(year(Valeur)-1900)*365
	Mois=SommeJourMois(month(Valeur))
	Jour=day(Valeur)
	
	NbJour=Année+Mois+Jour
	
	'Pb des années bissextiles
	'Combien d'années bissextiles ?
	' Je ne m'occupe pas de 2000, car 2000 est div par 400, donc bissextile !
	
	NbAnBissex=(year(Valeur)-1901)/4 ' 1900 est div. par 4 mais pas bissex.
	NbJour=NbJour+NbanBissex '+1
	
	'Est-on dans une année bissextile ?
	if mid(cstr(year(Valeur)),3,2)="00" then ' un début de siècle ...
		BissexF=year(Valeur)/400
		BissexI=int(year(Valeur))/400
		if (month(valeur)>2) and ((BissexF)=(BissexI)) then
			Bissex=1
		elseif (Month(valeur)<3) and ((BissexF)=(BissexI)) then
			Bissex=0
		else
			Bissex=1
		end if
	else
		BissexF=year(Valeur)/4
		BissexI=int(year(Valeur)/4)
		if (month(valeur)>2) and ((BissexF)=(BissexI)) then
			Bissex=1
		elseif (Month(valeur)<3) and ((BissexF)=(BissexI)) then
			Bissex=0
		else
			Bissex=1
		end if
	end if
	DateDuJour=NbJour+Bissex
end function
Function SmmeJourMois(Valeur)
	Select case Valeur
	case 1:
		SommeJourMois=0
	case 2:
		SommeJourMois=31
	case 3:
		SommeJourMois=59
	case 4:
		SommeJourMois=90
	case 5:
		SommeJourMois=120
	case 6:
		SommeJourMois=151
	case 7:
		SommeJourMois=181
	case 8:
		SommeJourMois=212
	case 9:
		SommeJourMois=243
	case 10:
		SommeJourMois=273
	case 11:
		SommeJourMois=304
	case 12:
		SommeJourMois=334
	case else:
		SommeJourMois=-99999
	end select
end function%>

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.