PROCEDURE PL_MoisJour(P_DateDeb,P_DateFin,PS_NbMois,PS_NbJour)
// Déclaration
W_D_DateDeb est une Date = P_DateDeb
W_D_DateFin est une Date = P_DateFin
W_B_Fin est un booléen = Faux
W_D_DateW est une Date = W_D_DateDeb
W_E_OldMois est un entier = W_D_DateW..Mois
W_E_NbMois est un entier = 0
W_E_NbJour est un entier = 0
// Contrôle
SI P_DateDeb > P_DateFin OU PAS DateValide(P_DateDeb) OU PAS DateValide(P_DateFin) ALORS
RETOUR
FIN
TANTQUE PAS W_B_Fin
W_D_DateW..Jour ++
SI W_D_DateW..Mois <> W_E_OldMois ET W_D_DateDeb..Jour = W_D_DateW..Jour ALORS
W_E_NbMois ++
W_E_OldMois = W_D_DateW..Mois
W_E_NbJour = 0
SINON
W_E_NbJour ++
FIN
W_B_Fin = (W_D_DateW = W_D_DateFin)
FIN
PS_NbJour = W_E_NbJour
PS_NbMois = W_E_NbMois
Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=17&topic_id=3670&post_id=15470