Accueil > Forum > > > > Pb script jours feriés
Pb script jours feriés
mercredi 6 septembre 2006 à 11:43:18 |
Pb script jours feriés

isu_san
|
Bonjour a tous. j'ai tenté d'utiliser ce scritp http://www.aspfr.com/codes/CALCUL-NOMBRE-JOURS-OUVRABLES-ENTRE-DEUX-DATES_8717.aspx et j'ai un soucis au niveau du resultat
je vous copie mon code : <html> <head> <% function nbjourouvrable(datdeb,datfin) if datdeb="" or datfin="" then exit function nbjourtot = DateDiff("d",datdeb,datfin) + 1 for i=1 to nbjourtot if ferie(datdeb) then nbjourtot = nbjourtot - 1 end if datdeb=DateAdd("d",1,datdeb) next nbjour=nbjourtot End function function ferie(Jour) if jour="" then exit function Dim JJ,AA Dim NbOr, Epacte Dim PLune, Paques, Ascension, Pentecote JJ = Day(Jour) mm = Month(Jour) AA = Year(Jour) If JJ = 1 And mm = 1 Then ferie = True: Exit Function '1 Janvier If JJ = 1 And mm = 5 Then ferie = True: Exit Function '1 Mai If JJ = 8 And mm = 5 Then ferie = True: Exit Function '8 Mai If JJ = 14 And mm = 7 Then ferie = True: Exit Function '14 Juillet If JJ = 15 And mm = 8 Then ferie = True: Exit Function '15 Août If JJ = 1 And mm = 11 Then ferie = True: Exit Function '1 Novembre If JJ = 11 And mm = 11 Then ferie = True: Exit Function '11 Novembre If JJ = 25 And mm = 12 Then ferie = True: Exit Function '25 Décembre NbOr = (AA Mod 19) + 1 Epacte = (11 * NbOr - (3 + Int((2 + Int(AA / 100)) * 3 / 7))) Mod 30 PLune = CDate("19/04/" & AA) - ((Epacte + 6) Mod 30) If Epacte = 24 Then PLune = PLune - 1 If Epacte = 25 And (AA >= 1900 And AA < 2000) Then PLune = PLune - 1 Paques = PLune - Weekday(PLune) + vbMonday + 7 'Paques If JJ = Day(Paques) And mm = Month(Paques) Then ferie=true : Exit Function Ascension = Paques + 38 'Ascension If JJ = Day(Ascension) And mm = Month(Ascension) Then ferie=true : Exit Function 'Pentecote = Ascension + 11 'Pentecote 'If JJ = Day(Pentecote) And mm = Month(Pentecote) Then ferie=true : Exit Function ferie = False Dim numjour numjour=weekday(jour,vbmonday) 'fixe à 6 et 7 la valeur du samedi & dimanche if numjour=6 or numjour=7 then ferie=true : Exit function End function %> </head> <body> <form name="myform" method="get"> <input type="text" name="date1"><input type="text" name="date2"><input type="submit" value="ok">
</form>
<% dim cnt,trai,traitement if request.querystring("date1")<>"" then date_debut=request.querystring("date1") date_fin=request.querystring("date2") dim ors dim objconn dim strconn set objconn = server.createobject("ADODB.connection") strconn= "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("../../fpdb/ti.mdb")& ";Persist Security Info=False" objconn.open strconn reqsql = "select * from ti;" set ors = objconn.execute(reqsql)
do while not ors.eof diff_debut=datediff("d",date_debut,ors("date1")) diff_fin=datediff("d",ors("date1"),date_fin) if (diff_debut>0 or diff_debut=0) and (diff_fin>0 or diff_fin=0) then cnt=cnt+1 if ors("nature")<>"Circulaire" then if ors("date4")<>"01/01/1900" then trai=trai+1 call nbjourouvrable(ors("date2"),ors("date4")) traitement=nbjour response.write(ors("date2")) response.write("<br>") response.write(ors("date4")) response.write("<br>") response.write(traitement) response.write("<br>") response.write("<br>") end if end if end if ors.movenext loop end if %> </body> </html>
pardon c'est un peu long.... bon je m'explique, dans ma base de donnée c'est une liste de document qui comporte differentes dates. date1 la date du document, date2 et date4 d'autres dates que je dois comparer pour recuperer le nb de jours ouvrés qui les separent. je dois faire cette comparaison pour tous les documents dont la date (date1) est comprise entre les dates du formulaires. (vous suivez toujours ??)
ca marche presque, mon probleme, et je ne comprends vraiment pas pourquoi c'est qu'il m'affiche tout ca, sauf pour la premiere ligne!! a priori sur la premiere opération la variable nbjourtot n'est pas reconnue...
aidez moi par pitié je vais devenir fou !!!
|
|
jeudi 7 septembre 2006 à 11:12:34 |
Re : Pb script jours feriés

isu_san
|
Hello Bon puisque ca n'a pas l'air de vous inspirer on va faire plus simple toujours cette fonction: function nbjourouvrable(datdeb,datfin) if datdeb="" or datfin="" then exit function nbjourtot = DateDiff("d",datdeb,datfin) + 1 for i=1 to nbjourtot if ferie(datdeb) then nbjourtot = nbjourtot - 1 end if datdeb=DateAdd("d",1,datdeb) next nbjour=nbjourtot End function function ferie(Jour) if jour="" then exit function Dim JJ,AA Dim NbOr, Epacte Dim PLune, Paques, Ascension, Pentecote JJ = Day(Jour) mm = Month(Jour) AA = Year(Jour) If JJ = 1 And mm = 1 Then ferie = True: Exit Function '1 Janvier If JJ = 1 And mm = 5 Then ferie = True: Exit Function '1 Mai If JJ = 8 And mm = 5 Then ferie = True: Exit Function '8 Mai If JJ = 14 And mm = 7 Then ferie = True: Exit Function '14 Juillet If JJ = 15 And mm = 8 Then ferie = True: Exit Function '15 Août If JJ = 1 And mm = 11 Then ferie = True: Exit Function '1 Novembre If JJ = 11 And mm = 11 Then ferie = True: Exit Function '11 Novembre If JJ = 25 And mm = 12 Then ferie = True: Exit Function '25 Décembre NbOr = (AA Mod 19) + 1 Epacte = (11 * NbOr - (3 + Int((2 + Int(AA / 100)) * 3 / 7))) Mod 30 PLune = CDate("19/04/" & AA) - ((Epacte + 6) Mod 30) If Epacte = 24 Then PLune = PLune - 1 If Epacte = 25 And (AA >= 1900 And AA < 2000) Then PLune = PLune - 1 Paques = PLune - Weekday(PLune) + vbMonday + 7 'Paques If JJ = Day(Paques) And mm = Month(Paques) Then ferie=true : Exit Function Ascension = Paques + 38 'Ascension If JJ = Day(Ascension) And mm = Month(Ascension) Then ferie=true : Exit Function 'Pentecote = Ascension + 11 'Pentecote 'If JJ = Day(Pentecote) And mm = Month(Pentecote) Then ferie=true : Exit Function ferie = False Dim numjour numjour=weekday(jour,vbmonday) 'fixe à 6 et 7 la valeur du samedi & dimanche if numjour=6 or numjour=7 then ferie=true : Exit function End function
ensuite plus loin je fais
call nbjourouvrable(date1,date2)
ca fonctionne mon soucis, c'est que je dois le faire plusieurs fois avec un while et que je n'arrive pas a recuperer le resultat de la fonction dans une variable. ou et quand dois je recuperer le resultat ???
|
|
jeudi 7 septembre 2006 à 17:36:43 |
Re : Pb script jours feriés

isu_san
|
Réponse acceptée !
bon ben voila, pour une fois le newbbie a trouver tout seul...
merci a ceux qui ont cherché
|
|
Cette discussion est classée dans : function, and, ferie, exit, jj
Répondre à ce message
Sujets en rapport avec ce message
randomize [ par beb ]
SELECT * FROM TableTest where Champ1 Like '" & Rech & "' and (( Code Like '" & cod & "' and OK Like '" & ok & "') or ( local Like '" & loc & "' and
Appel d'une function à partir d'une image [ par Wassup ]
j'aimerais en cliquant sur une image appeller une function en passant un paramêtre, du style :ouvrepopavec(fichier.htm)J'ai essayé les événements1)...
Appel d'une fonction à partir d'une image [ par Wassup ]
j'aimerais en cliquant sur une image appeller une function en passant un paramêtre, du style :ouvrepopavec(fichier.htm)J'ai essayé les événements1)...
Base prb simple mais pas si sur .... [ par Troyan ]
voici la requete qui marche pas et qui devrait me sauver la vie !!SELECT Table1.id, Table1.NomFROM Table1 INNER JOIN Table2 ON Table1.id = Table2.id_t
erreur '80040e14'?????????????????? [ par glopglop ]
Dans ma requete suivante on me dit :)en trop dans.......rsAffichedispo.Open "Select nom_dispo,domaine, public,nomnature, montant,date_depos,condition
erreur '80040e14'????????? c'est quoi ca!!! [ par glopglop ]
Dans ma requete suivante on me dit :)en trop dans.......rsAffichedispo.Open "Select nom_dispo,domaine, public,nomnature, montant,date_depos,condition
date -15 jours [ par cloe ]
BonjourVoila mon pb,J'ai une date au format jj/mm/aaaa.Je dois savoir si elle est dans l'intervalle des 15 derniers jours par rapport à la date actuel
Sélection dans plusieurs tables [ par seb ]
Bonjour,Voici mon problème :J'ai une base de données avec plusieurs tables dans lesquelles je dois récupérer des informations. Le code ci-dessous fonc
Comparaison de dates [ par ChS ]
Salut à tous, Help pleaseJ'ai une table qui contient des enregistrements datés (format date-heure ds Access). Les insert se passent bien, les select p
ARGGG HELP ME PLEASE [ par max12 ]
Il m'affiche l'erreur suivante - Microsoft][Pilote ODBC Microsoft Access] L'opération doit utiliser une requête qui peut être mise à jour.Lorsque je
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|