******************************************************
* PROGRAMME DE TRAITEMENT DES STAT AIDES NB DOSSIERS *
*  VANES                               MARS 2003     *
*  MIKAEL                              Janvier 2006  *
*                                      Janvier 2007  *
******************************************************

***************************
* Ouvertures des fichiers *
***************************

      EXECUTE "SET-THOUS ."
      EXECUTE "SET-DEC ,"
      EXECUTE "DATE.FORMAT"
      OPEN "","ACTIVITES" TO F.ACTIVITES ELSE PRINT "ACTIVITES"
      OPEN "","ACTIVITESBISAIDE" TO F.ACTIVITESBISAIDE ELSE PRINT "ACTIVITESBISAIDE"
      OPEN "","CIVILAIDE" TO F.CIVILAIDE ELSE PRINT "CIVILAIDE"
      OPEN "","RESPONSABLE" TO F.RESPONSABLE ELSE PRINT "RESPONSABLE"
      OPEN "","SECTEUR" TO F.SECTEUR ELSE PRINT "SECTEUR"
      OPEN "","STATAIDE" TO F.STATAIDE ELSE PRINT "STATAIDE"
      OPEN "","TABLES" TO F.TABLES ELSE PRINT "TABLES"
      OPEN "","TEMPO" TO F.TEMPO ELSE PRINT "TEMPO"
      OPEN "","ORGPRISECHARGE" TO F.ORGPRISECHARGE ELSE PRINT "ORGPRISECHARGE"
      OPEN "","ACCORD" TO F.ACCORD ELSE PRINT "ACCORD"

******************************
* Recuperation des arguments *
******************************
      PROCREAD ARGUMENTS ELSE PRINT "Procread"

      W_ASSOC=FIELD(ARGUMENTS,"|",2)
      W_CODEACTIVITE=FIELD(ARGUMENTS,"|",3)
      W_TYPEACTIVITE=FIELD(ARGUMENTS,"|",4)
      W_TYPESELECTION=FIELD(ARGUMENTS,"|",5)
      W_CODESELECTION=FIELD(ARGUMENTS,"|",6)
      W_DEBUT=FIELD(ARGUMENTS,"|",7)
      W_FIN=FIELD(ARGUMENTS,"|",8)
      W_TYPEETAT=FIELD(ARGUMENTS,"|",9)
      W_TYPEEDITION=FIELD(ARGUMENTS,"|",10)
      W_ECLAT=FIELD(ARGUMENTS,"|",11)
      W_USER=FIELD(ARGUMENTS,"|",12)
*      DEBUG
*********************
* TRAITEMENT GLOBAL *
*********************

      W_RESULTAT=""
      W_DATEDEBUT=ICONV("01/":W_DEBUT[5,2]:"/":W_DEBUT[1,4],"D4/")
      W_DATEFIN=ICONV("01/":W_FIN[5,2]:"/":W_FIN[1,4],"D4/")+32
      W_DATEFIN=OCONV(W_DATEFIN,"D4/")
      W_DATEFIN=ICONV("01/":W_DATEFIN[4,7],"D4/")-1
      W_SELECTION=""	

      W_SELECTION= 'SSELECT ACTIVITESBISAIDE AVEC NomAide # "" AND AVEC TypeActBisAide = "':W_TYPEACTIVITE:'"' 

      IF W_CODEACTIVITE = "" THEN
         W_SELECTION=W_SELECTION:' AND AVEC CodeAssocBisAide = "':W_ASSOC:'"'
      END ELSE
         W_ACTIVITE=W_ASSOC:W_CODEACTIVITE
         W_SELECTION=W_SELECTION:' AND AVEC CodeActBisAide = "':W_ACTIVITE:'"'
      END

      IF W_TYPEETAT = "A" THEN
         W_SELECTION=W_SELECTION:' AND AVEC DateDebAct <= "':W_DATEFIN:'" AND AVEC 1 >= "':W_DATEDEBUT:'" OR = ""'
      END ELSE
         IF W_TYPEETAT = "D" THEN
            W_SELECTION=W_SELECTION:' AND AVEC DateDebAct >= "':W_DATEDEBUT:'" AND AVEC DateDebAct <= "':W_DATEFIN:'"'
         END ELSE
            IF W_TYPEETAT = "F" THEN
               W_SELECTION=W_SELECTION:' AND AVEC 1 # "" AND AVEC 1 >= "':W_DATEDEBUT:'" AND AVEC 1 <= "':W_DATEFIN:'"'
            END
         END
      END


**************JUSTE POUR LE TEST, A RETIRER APRES***************
*W_SELECTION=W_SELECTION:' AND AVEC 0= "0449700100114001"'
****************************************************************


      IF W_ECLAT = "M" THEN
         W_SELECTION=W_SELECTION:' AND AVEC 2 # ""'
      END

      IF W_TYPESELECTION = "R" THEN
         IF W_CODESELECTION # "" THEN
            W_SELECTION = W_SELECTION:' AND AVEC CodeResponsableBisAide = "':W_CODESELECTION:'"'
         END ELSE
            W_SELECTION = W_SELECTION:' PAR RespBisAide'
         END
      END ELSE
         IF W_TYPESELECTION = "S" THEN
            IF W_CODESELECTION # "" THEN
               W_SELECTION = W_SELECTION:' AND AVEC CodeSecteurBisAide = "':W_CODESELECTION:']"'
            END ELSE
               W_SELECTION = W_SELECTION:' PAR SecteurBisAide'
            END
         END ELSE
            IF W_TYPESELECTION= "C" THEN
               IF W_CODESELECTION # "" THEN
                  W_SELECTION = W_SELECTION:' AND AVEC LibCommuneBisAide = "':W_CODESELECTION:'"'
               END ELSE
                  W_SELECTION = W_SELECTION:' PAR LibCommuneBisAide'
               END
            END
         END
      END

      IF W_ECLAT # "M" THEN
         IF W_TYPEEDITION = "3" THEN
            IF W_TYPEETAT = "F" THEN
               W_SELECTION = W_SELECTION:' PAR NomPrenomBisAide PAR LibActBisAide PAR 1'
            END ELSE
               W_SELECTION = W_SELECTION:' PAR NomPrenomBisAide PAR LibActBisAide PAR DateDebAct'
            END
         END ELSE
            IF W_TYPEETAT = "F" THEN
               W_SELECTION = W_SELECTION:' PAR CodeAide PAR-DECR 1'
            END ELSE
               W_SELECTION = W_SELECTION:' PAR CodeAide PAR DateDebAct'
            END
         END
      END ELSE
         IF W_TYPEEDITION = "3" THEN
            W_SELECTION = W_SELECTION:' PAR 2 PAR NomPrenomBisAide PAR-DECR 1'
         END ELSE
            W_SELECTION = W_SELECTION:' PAR 2 PAR CodeAide PAR-DECR 1'
         END
      END

      EXECUTE W_SELECTION
      EXECUTE 'SAUVE-LISTE W_RESULTAT'
      EXECUTE "LISTE W_RESULTAT" RETURNING MSGCODE	

* TEST
* SSELECT ACTIVITESBISAIDE AVEC NomAide # "" AND AVEC TypeActBisAide = "P"  AND AVEC CodeActBisAide = "001001" AND AVEC DateDebAct <= "14246" AND AVEC 1 >= "13881" OR = ""  PAR CodeAide PAR DateDebAct	

      IF MSGCODE<1> # 209 THEN
         SELECT F.ACTIVITESBISAIDE TO W_RESULTAT
         GOSUB 100
      END

************
************
** mikael **
************
************
      IF W_TYPEEDITION = 1 AND W_ECLAT = "M" THEN
         READ ENR_TABLES FROM F.TABLES,"MOTIFSORTIE" ELSE PRINT "TABLES"
         W_Count=DCOUNT(W_Tab<1>,CHAR(253))
         FOR i = 1 TO W_Count
            W_Tab<1,i+1>= ENR_TABLES<3,i>
         NEXT i

         WRITE W_Tab TO F.TEMPO,"NBAIDE":W_USER	
      END
*********************
*********************
*********************

      STOP

********************
* PARCOURS REQUETE *
********************
100

      W_FINI="FAUX"
      W_Aide=""
      W_Rupt=""
      W_Tab=""
      W_TabCol=""
      w_TabSect=""
      W_TabAide=""
*Mikael
      W_MoisTrait=""
      W_TabOrg=""
      W_First ="True"
*Fin
      W_TOT = 0
      W_Ligne=1
      W_Nb=1
      ENR_TEMPO=""

* REMPLIT ENTETE DE TABLEAU SI EDITION # LISTE

      IF W_TYPEEDITION # 3 AND W_ECLAT = "P" THEN
         W_Tab<1,1>=W_TYPESELECTION
         FOR i = W_DEBUT TO W_FIN
            IF i[5,2]="13" THEN
               i=i[1,4]+1:"01"
            END
            W_Nb=W_Nb+1
            W_Tab<1,W_Nb>=i[5,2]:"/":i[3,2]
            W_TabCol<W_Nb>=0
         NEXT i
         W_Tab<1,W_Nb+1>="TOTAL"
         W_TabCol<1>="TOTAL"
         W_TabCol<W_Nb+1>=0

      END ELSE
         READ ENR_TABLES FROM F.TABLES,"MOTIFSORTIE" ELSE PRINT "TABLES"
         IF W_TYPEEDITION # 3 AND W_ECLAT = "M" THEN

            W_Count=DCOUNT(ENR_TABLES<2>,CHAR(253))

            W_Tab<1,1>=W_TYPESELECTION
            FOR i = 1 TO W_Count
               W_Nb=W_Nb+1
               W_Tab<1,W_Nb>=ENR_TABLES<2,i>
*W_Tab<1,W_Nb>=ENR_TABLES<3,i>[1,23]
               W_TabCol<W_Nb>=0
            NEXT i
            W_Tab<1,W_Nb+1>="TOTAL"
            W_TabCol<1>="TOTAL"
            W_TabCol<W_Nb+1>=0
            W_Motif=""

         END
      END
      W_MVLigne=W_Nb


* PARCOURT LA REQUETE

      LOOP
         READNEXT W_CLE FROM W_RESULTAT ELSE W_FINI="VRAI"
      WHILE W_FINI="FAUX" DO
         READ ENR_ACTIVITESBISAIDE FROM F.ACTIVITESBISAIDE,W_CLE ELSE PRINT "ActivitesAide"


* SI EDITION # LISTE ET SI RUPTURE SUR COMMUNE RESPONSABLE OU SECTEUR
* FAIT LA RUPTURE

         IF W_TYPEEDITION # 3 THEN

            IF W_TYPESELECTION # "T" THEN
               READ ENR_CIVILAIDE FROM F.CIVILAIDE,W_CLE[1,5] ELSE PRINT "CIVILAIDE"

               IF W_TYPESELECTION = "S" AND W_Rupt # ENR_CIVILAIDE<40>[1,3] THEN
                  W_Rupt = ENR_CIVILAIDE<40>[1,3]
                  IF W_Aide # "" THEN
                     IF W_ECLAT="P" THEN
                        GOSUB 300
                        W_Aide = W_CLE[1,5]
                     END
                  END

                  W_TabAide=""
                  W_Ligne=W_Ligne+1

                  READ ENR_SECTEUR FROM F.SECTEUR,W_Rupt ELSE PRINT "SECTEUR"
                  W_Tab<W_Ligne,1>=ENR_SECTEUR<1>
                  W_TabSect<W_Ligne>=W_Rupt

                  IF W_Aide # "" THEN
                     IF W_ECLAT="P" THEN
                        W_Aide = "" 
                        GOSUB 200
                     END
                  END
               END ELSE

                  IF W_TYPESELECTION = "R" AND W_Rupt # ENR_CIVILAIDE<39> THEN
                     W_Rupt = ENR_CIVILAIDE<39>
                     IF W_Aide # "" THEN
                        IF W_ECLAT="P" THEN
                           GOSUB 300
                           W_Aide = W_CLE[1,5]
                        END
                     END
                     W_TabAide=""
                     W_Ligne=W_Ligne+1
                     READ ENR_RESPONSABLE FROM F.RESPONSABLE,W_Rupt ELSE PRINT "RESPONSABLE"
                     W_Tab<W_Ligne,1>=ENR_RESPONSABLE<1>
                     IF W_Aide # "" THEN
                        IF W_ECLAT="P" THEN
                           W_Aide = "" 
                           GOSUB 200
                        END
                     END

                  END ELSE
                     IF W_TYPESELECTION = "C" AND W_Rupt # ENR_CIVILAIDE<11> THEN
                        W_Rupt = ENR_CIVILAIDE<11>
                        IF W_Aide # "" THEN
                           IF W_ECLAT="P" THEN
                              GOSUB 300
                              W_Aide = W_CLE[1,5]
                           END
                        END
                        W_TabAide=""
                        W_Ligne=W_Ligne+1
                        W_Tab<W_Ligne,1>=W_Rupt 
                        IF W_Aide # "" THEN
                           IF W_ECLAT="P" THEN
                              W_Aide = "" 
                              GOSUB 200
                           END
                        END
                     END ELSE
                        IF W_TYPESELECTION = "O" THEN

                           W_OK = "FALSE"
                           GOSUB 800
                        END
                     END
                  END
               END
            END ELSE
               W_Ligne=2
            END

* REMPLIT LES TABLEAUX DYNAMIQUES QUI SERONT ENSUITE ECRIT DANS LE FICHIER TEMPO

            IF W_ECLAT = "P" THEN
*Mikael
               IF W_TYPESELECTION # "O" THEN
                  GOSUB 200
               END
            END ELSE
               GOSUB 600
            END
         END ELSE
            GOSUB 500
         END
      REPEAT

* TERMINE LES TOTAUX DES TABLEAUX DYNAMIQUES

      IF W_TYPEEDITION # 3 THEN
         IF W_ECLAT = "P" THEN
*Mikael
            IF W_TYPESELECTION # "O" THEN
               GOSUB 300
            END

*Fin
         END ELSE

            W_Count=DCOUNT(W_Tab,CHAR(254))
            W_CountLigne=DCOUNT(W_Tab<1>,CHAR(253))
            W_Tab<W_Count,W_CountLigne>=0
            
            FOR i=2 TO W_Count
               W_Tab<i,W_CountLigne>=0

               FOR j = 2 TO W_CountLigne-1
                  W_Tab<i,W_CountLigne> = W_Tab<i,W_CountLigne> + W_Tab<i,j>
               NEXT j
            NEXT i
         END

         IF W_Tab<1,1>="T" THEN
            W_Tab<1,1>=""
         END ELSE
            IF W_Tab<1,1>="C" THEN
               W_Tab<1,1>="COMMUNE"
            END ELSE
               IF W_Tab<1,1>="R" THEN
                  W_Tab<1,1>="RESPONSABLE"
               END ELSE
                  IF W_Tab<1,1>="S" THEN
                     W_Tab<1,1>="SECTEUR"
                  END ELSE
                     IF W_Tab<1,1>="O" THEN
                        W_Tab<1,1>="ORGANISME"
                     END
                  END
               END 
            END
         END

         IF W_TYPEEDITION = 1 THEN
              W_Count=DCOUNT(W_TabCol,CHAR(254))
              W_Countwtab=DCOUNT(W_Tab,CHAR(254)) + 1 
            IF W_CODESELECTION = "" THEN
              W_CumulGene = 0
              FOR i=1 TO W_Count  
*                 FOR y = 1 TO W_CountwtabUn -1
 *                   W_Tab<W_Countwtab,y> = W_Tab<W_Countwtab,y> + W_TabCol<y>
                    W_Tab<W_Countwtab,i> = W_TabCol<i> 
                    IF i > 1 THEN
                      W_CumulGene = W_CumulGene + W_TabCol<i>
                    END      
*                 NEXT y
              NEXT i
              W_Tab<W_Countwtab,DCOUNT(W_Tab<1>,CHAR(253))> = W_CumulGene
              
*            END ELSE
*              FOR i=2 TO W_Countwtab  
*                 FOR y=1 TO DCOUNT(W_Tab<1>,CHAR(253))-1
*                    W_Tab<W_Countwtab,y>=W_Tab<W_Countwtab,y>+W_TabCol<y>
*                 NEXT y
*              NEXT i
            END
            
*FOR i = 1 TO W_Count
*	IF W_TYPESELECTION # "T" THEN
*		W_Tab<W_Countwtab,i>=W_TabCol<i>
*	END ELSE
*		W_Tab<W_Countwtab,i>=W_TabCol<i>
*	END
*NEXT i			

************************************
*            W_Tab<W_Countwtab,W_Count>=0
*            W_Counttt = DCOUNT(W_Tab<2>,CHAR(253))
*            FOR i=2 TO W_Countwtab-1
*               W_Tab<W_Countwtab,W_Count> = W_Tab<W_Countwtab,W_Count> + W_Tab<i,W_Counttt>
*            NEXT i
************************************
            
*            IF W_Tab<W_Countwtab,1> # "TOTAL" THEN
*               W_Tab<W_Countwtab,1>="TOTAL"
*            END
            

            IF W_TYPESELECTION = "S" THEN
               FOR i=2 TO W_Ligne
                  W_Tab<i,W_Nb+2>=W_TabSect<i>
               NEXT i
            END
            
			*************************
			* Grgory - 09-11-07. Le calcul du total de la dernire colonne est erron suite  un pb d'algo.
			* Pour viter de passer du temps  revoir l'algo, il a t dcid de refaire tout simplement
			* le calcul juste avant d'crire dans le fichier.
			iTotal=0
			jTotal=0
			W_TotalRecalcul=0
			FOR iTotal=2 TO DCOUNT(W_Tab, CHAR(254))-1
				W_TotalRecalcul=W_TotalRecalcul+W_Tab<iTotal,DCOUNT(W_Tab<iTotal>,CHAR(253))-1>
			NEXT iTotal
			W_Tab<DCOUNT(W_Tab,CHAR(254)),DCOUNT(W_Tab<DCOUNT(W_Tab,CHAR(254))>,CHAR(253))>=W_TotalRecalcul
			*************************
			
            WRITE W_Tab TO F.TEMPO,"NBAIDE":W_USER
         END ELSE
            IF W_TYPEEDITION = 2 THEN
               GOSUB 400
            END
         END
      END ELSE

         IF W_CODESELECTION # "" AND W_TYPESELECTION = "O" THEN
*Procdure de tri
            GOSUB 830
            ENR_TEMPO=""
            FOR i=1 TO DCOUNT(W_TabOrg,CHAR(254))
               ENR_TEMPO<i,1>=W_TabOrg<i,2>
               ENR_TEMPO<i,2>=W_TabOrg<i,1>
            NEXT i
         END

         IF W_CODESELECTION = "" AND W_TYPESELECTION = "O" THEN
*Procdure de tri
            GOSUB 830
            ENR_TEMPO=""

            FOR i=1 TO DCOUNT(W_TabOrg,CHAR(254))
               ENR_TEMPO<i,1>=W_TabOrg<i,2>
               ENR_TEMPO<i,2>=W_TabOrg<i,1>
            NEXT i

         END

         WRITE ENR_TEMPO TO F.TEMPO,"NBAIDE":W_USER
      END

      RETURN


******************************************************
* REMPLIT TABLEAU AIDE  SI EDITION STAT ET GRAPHIQUE *
******************************************************
200

      IF W_Aide # W_CLE[1,5] THEN
         IF W_Aide # "" THEN
            GOSUB 300
         END
         W_TabAide=""
      END

      IF (W_TYPEETAT="A") OR (W_TYPEETAT # "A" AND W_Aide # W_CLE[1,5]) THEN
      
         FOR i = 2 TO W_Nb
            W_Per=W_Tab<1,i>
            W_DATEDEBUT=ICONV("01/":W_Per[1,2]:"/":W_Per[4,2],"D4/")
            W_DATEFIN=W_DATEDEBUT+32
            W_DATEFIN=OCONV(W_DATEFIN,"D4/")
            W_DATEFIN=ICONV("01/":W_DATEFIN[4,7],"D4/")-1

            IF W_TYPEETAT = "A" THEN
               IF (INT(W_CLE[12,5]) <= INT(W_DATEFIN) AND INT(ENR_ACTIVITESBISAIDE<1>) >= INT(W_DATEDEBUT)) OR (INT(W_CLE[12,5]) <= INT(W_DATEFIN) AND ENR_ACTIVITESBISAIDE<1> = "") THEN
                  W_TabAide<i>=1
               END
            END ELSE

               IF W_TYPEETAT = "D" THEN
                  IF INT(W_CLE[12,5]) >= INT(W_DATEDEBUT) AND INT(W_CLE[12,5]) <= INT(W_DATEFIN) THEN
                     W_TabAide<i>=1
                     EXIT
                  END
               END ELSE
                  IF W_TYPEETAT = "F" AND W_ECLAT = "P" THEN
                     IF ENR_ACTIVITESBISAIDE<1> # "" AND INT(ENR_ACTIVITESBISAIDE<1>) >= INT(W_DATEDEBUT) AND INT(ENR_ACTIVITESBISAIDE<1>) <= INT(W_DATEFIN) THEN
                        W_TabAide<i>=1
                        EXIT
                     END	
                  END
               END
            END
         NEXT i
      END
      W_Aide = W_CLE[1,5]

      RETURN


*****************************************************
* REMPLIT TABLEAU STAT SI EDITION STAT ET GRAPHIQUE *
*****************************************************
300

*Mikael
      IF W_TYPESELECTION = "O" THEN
         IF W_TYPEETAT = "F" THEN

            IF W_ECLAT = "P" THEN
*W_Nb = nombre de mois + 1 ( Colonne de titre )

               FOR i = 2 TO W_Nb

                  IF W_Tab<1,i>= W_MoisTrait THEN
                     W_Tab<W_Pos,i>=W_Tab<W_Pos,i> + 1

*On ajoute egalement 1 dans le total colonne
                     W_TabCol<i>=W_TabCol<i>+1
                     W_TabCol<W_Nb+1>=W_TabCol<W_Nb+1>+1

                     EXIT
                  END
               NEXT i
            END ELSE

               W_Count2=DCOUNT(ENR_TABLES<2>,CHAR(253))

               FOR i = 1 TO W_Count2
                  IF W_Motif=ENR_TABLES<3,i>[1,23] THEN
                     W_Tab<W_Pos,i+1>=W_Tab<W_Pos,i+1> + 1

*On ajoute egalement 1 dans le total colonne
                     W_TabCol<i+1>=W_TabCol<i+1>+1
*W_TabCol<W_Count+1>=W_TabCol<W_Count+1>+1
                     EXIT
                  END
               NEXT i

            END
         END ELSE

            IF W_TYPEETAT = "D" THEN

*W_Nb = nombre de mois

               FOR i = 2 TO W_Nb
                  IF W_Tab<1,i>= W_MoisTrait THEN
                     W_Tab<W_Pos,i>=W_Tab<W_Pos,i> + 1

*On ajoute egalement 1 dans le total colonne
                     W_TabCol<i>=W_TabCol<i>+1
                     W_TabCol<W_Nb+1>=W_TabCol<W_Nb+1>+1

*On ajoute egalement 1 dans le total ligne
                     W_Tab<W_Pos,W_MVLigne+1>=W_Tab<W_Pos,W_MVLigne+1>+1
                     EXIT
                  END
               NEXT i

            END ELSE

*Nous sommes en actif danc il faut prendre que la priode de l'accord
*sur la priode slectionne donc rcuperer la date de dbut et la date de fin
*pour ajouter 1 dans les mois compris entre la date date de dbut et la date de fin

               IF ENR_ACCORD<5> <= W_DATEDEBUT THEN
                  W_ParcourDeb  = W_DATEDEBUT
               END ELSE
                  W_ParcourDeb  = ENR_ACCORD<5>
               END

               W_ParcourDeb=OCONV(W_ParcourDeb,"D4/")
               W_ParcourDeb=W_ParcourDeb[4,3]:W_ParcourDeb[9,2]

               IF ENR_ACCORD<6> >= W_DATEFIN THEN
                  W_ParcourFin  = W_DATEFIN
               END ELSE
                  W_ParcourFin  = ENR_ACCORD<6>
               END

               W_ParcourFin=OCONV(W_ParcourFin,"D4/")
               W_ParcourFin=W_ParcourFin[4,3]:W_ParcourFin[9,2]

*parcours pour connaitre la position de debut et de fin dans le tableau
               FOR K =1 TO 2
                  IF K = 1 THEN
                     W_Boucle =W_ParcourDeb
                  END ELSE
                     W_Boucle =W_ParcourFin
                  END

                  FOR i = 2 TO W_Nb
                     IF W_Tab<1,i>= W_Boucle THEN
                        IF K = 1 THEN
                           W_BoucleDeb =i
                        END ELSE
                           W_BoucleFin =i
                        END
                        EXIT
                     END
                  NEXT i
               NEXT K

*On ajoute 1 dans la cellule
               FOR i = W_BoucleDeb TO W_BoucleFin
                  W_Tab<W_Pos,i>=W_Tab<W_Pos,i> + 1
                  W_Tab<W_Pos,W_MVLigne+1>=W_Tab<W_Pos,W_MVLigne+1> +1 
*On ajoute egalement 1 dans le total colonne
                  W_TabCol<i>=W_TabCol<i>+1

               NEXT i
            END
         END
      END ELSE

         FOR i = 2 TO W_Nb
            IF W_TabAide<i> = 1 THEN

               IF W_TYPESELECTION # "T" THEN
                  IF W_Tab<W_Ligne,i>="" THEN
                     W_Tab<W_Ligne,i>=0
                  END
                  W_Tab<W_Ligne,i>=W_Tab<W_Ligne,i>+W_TabAide<i>
               END
               W_TabCol<i>=W_TabCol<i>+W_TabAide<i>
            END
         NEXT i

         IF W_TYPESELECTION # "T" THEN
            W_Tab<W_Ligne,i>=W_Tab<W_Ligne,i>+1
         END

         W_TabCol<i>=W_TabCol<i>+1
         
      END
      RETURN


************************
* ECRIT FICHIER EXCEL  *
************************
400

* ECRIT LES LIBELLES DES MOTIFS DE SORTIE

      IF W_ECLAT = "M" THEN

         W_CountLigne=DCOUNT(W_Tab<1>,CHAR(253))
         FOR i = 2 TO W_CountLigne-1

            j=1
            LOOP
            UNTIL ENR_TABLES<2,j> = W_Tab<1,i> OR ENR_TABLES<2,j> = "" 
               j=j+1
            REPEAT
            IF ENR_TABLES<2,j> # "" THEN
               W_Tab<1,i>=ENR_TABLES<3,j>
            END
         NEXT i
      END ELSE
         W_CountLigne=DCOUNT(W_Tab<1>,CHAR(253))
         FOR i = 2 TO W_CountLigne-1
            GOSUB 700
         NEXT i

      END

      W_Ordre=1
      W_Date=OCONV(DATE(),"D4/")
      W_Date=ICONV(W_Date,"MCN")

      W_CleFichier="NOMBREDOSSIERSAIDES":W_ASSOC:W_Date

      READ ENR_STATAIDE FROM F.STATAIDE,W_CleFichier:W_Ordre:".csv" ELSE ENR_STATAIDE=""

      LOOP
      UNTIL ENR_STATAIDE=""
         W_Ordre=W_Ordre+1
         READ ENR_STATAIDE FROM F.STATAIDE,W_CleFichier:W_Ordre:".csv" ELSE ENR_STATAIDE=""
      REPEAT

      W_Count=DCOUNT(W_TabCol,CHAR(254))
      FOR i = 1 TO W_Count
         IF W_TYPESELECTION # "T" THEN
            W_Tab<W_Ligne+1,i>=W_TabCol<i>
         END ELSE
            W_Tab<W_Ligne,i>=W_TabCol<i>
         END
      NEXT i

      CONVERT "" TO ";" IN W_Tab

      WRITE W_Tab TO F.STATAIDE,W_CleFichier:W_Ordre:".csv"

      WRITE W_CleFichier:W_Ordre:".csv" TO F.TEMPO,"NBAIDE":W_USER

      RETURN


************************************************
* REMPLIT LE FICHIER TEMPO POUR EDITION LISTE  *
************************************************
500

*Mikael
      IF W_TYPESELECTION = "O" THEN

*On effectue tout dabord une premier verification en appeleant la procdure 800
*si la verif est ok alors on fait le traitement sinon on lit l'enregistrement suivant.

         W_Temp=""
         W_OK = "FALSE"

         IF W_Aide # W_CLE[1,5] THEN
            W_PremiereVerif = "oui"
         END

         GOSUB 800

         IF W_OK = "FALSE" THEN
            RETURN
         END

         IF W_Aide # W_CLE[1,5] THEN

            READ ENR_CIVILAIDE FROM F.CIVILAIDE,W_CLE[1,5] ELSE PRINT "CIVILAIDE"

            W_Nom=ENR_CIVILAIDE<2>:" ":ENR_CIVILAIDE<3>
            IF LEN(W_Nom) > 23 THEN
               W_Nom=W_Nom[1,23]
            END ELSE
               W_Nom=W_Nom:SPACE(23-LEN(W_Nom))
            END
            W_Nom=W_CLE[1,5]:" ":W_Nom:" "
            W_Aide = W_CLE[1,5]
         END

*On va lire la date de debut et de fin de l'accord
         GOSUB 800

      END ELSE

         W_Temp=""
         IF W_Aide # W_CLE[1,5] THEN
            READ ENR_CIVILAIDE FROM F.CIVILAIDE,W_CLE[1,5] ELSE PRINT "CIVILAIDE"

            W_Nom=ENR_CIVILAIDE<2>:" ":ENR_CIVILAIDE<3>
            IF LEN(W_Nom) > 23 THEN
               W_Nom=W_Nom[1,23]
            END ELSE
               W_Nom=W_Nom:SPACE(23-LEN(W_Nom))
            END
            W_Temp=W_CLE[1,5]:" ":W_Nom:" "
            W_Aide = W_CLE[1,5]

         END ELSE
            W_Temp=SPACE(30)
         END

         READ ENR_ACTIVITES FROM F.ACTIVITES,W_CLE[6,6] ELSE PRINT "ACTIVITES"
         IF LEN(ENR_ACTIVITES<1>) > 14 THEN
            ENR_ACTIVITES<1>=ENR_ACTIVITES<1>[1,14]
         END ELSE
            ENR_ACTIVITES<1>=ENR_ACTIVITES<1>:SPACE(14-LEN(ENR_ACTIVITES<1>))
         END

         IF ENR_ACTIVITESBISAIDE<2> # "" THEN
            i=1
            LOOP
            UNTIL ENR_ACTIVITESBISAIDE<2>=ENR_TABLES<2,i> OR ENR_TABLES<2,i>=""
               i=i+1
            REPEAT
            IF ENR_TABLES<2,i> # "" THEN
               W_Motif=ENR_TABLES<3,i>[1,23]
            END
         END ELSE
            W_Motif=""
         END

         W_Temp=W_Temp:ENR_ACTIVITES<1>:" ":OCONV(W_CLE[12,5],"D4/"):" "

         IF ENR_ACTIVITESBISAIDE<1> # "" THEN
            W_Temp=W_Temp:OCONV(ENR_ACTIVITESBISAIDE<1>,"D4/"):" ":W_Motif
         END ELSE
            W_Temp=W_Temp:SPACE(10):" ":W_Motif
         END

         ENR_TEMPO<W_Ligne>=W_Temp

         IF W_TYPESELECTION = "S"  THEN
            W_Rupt = ENR_CIVILAIDE<40>[1,3]
         END ELSE

            IF W_TYPESELECTION = "R" THEN
               W_Rupt = ENR_CIVILAIDE<39>
            END ELSE
               IF W_TYPESELECTION = "C" THEN
                  W_Rupt = ENR_CIVILAIDE<11>
               END 
            END
         END

         IF W_TYPESELECTION # "T" THEN
            ENR_TEMPO<W_Ligne,2>=W_Rupt
         END

         W_Ligne=W_Ligne+1
      END
      RETURN


***************************************
* REMPLIT TABLEAU PAR MOTIF DE SORTIE *
***************************************
600

      IF W_Aide # W_CLE[1,5] THEN
         IF W_Aide # W_CLE[1,5] AND W_Motif # ENR_ACTIVITESBISAIDE<2> THEN
            W_Motif = ENR_ACTIVITESBISAIDE<2>
            j=2
            LOOP
            UNTIL ENR_ACTIVITESBISAIDE<2> = W_Tab<1,j> OR W_Tab<1,j> = "" 
               j=j+1
            REPEAT
         END

         IF W_Tab<1,j> # "" THEN
            IF W_Tab<W_Ligne,j> = "" THEN
               W_Tab<W_Ligne,j>=0
            END
            IF W_TabCol<j> = "" THEN
               W_TabCol<j>=0
            END
            W_Tab<W_Ligne,j>=W_Tab<W_Ligne,j>+1
            W_TabCol<j>=W_TabCol<j>+1
            W_TabCol<W_Nb+1>=W_TabCol<W_Nb+1>+1

            W_Aide = W_CLE[1,5]
         END
      END

      RETURN


***************************************
* Tables de correspondance des mois   *
***************************************
700

      BEGIN CASE 
         CASE W_Tab<1,i>[1,2] = "01"
            W_Tab<1,i> = "janvier ":W_Tab<1,i>[4,2]
         CASE W_Tab<1,i>[1,2] = "02"
            W_Tab<1,i> = "fvrier ":W_Tab<1,i>[4,2]
         CASE W_Tab<1,i>[1,2] = "03"
            W_Tab<1,i> = "mars ":W_Tab<1,i>[4,2]
         CASE W_Tab<1,i>[1,2] = "04"
            W_Tab<1,i> = "avril ":W_Tab<1,i>[4,2]
         CASE W_Tab<1,i>[1,2] = "05"
            W_Tab<1,i> = "mai ":W_Tab<1,i>[4,2]
         CASE W_Tab<1,i>[1,2] = "06"
            W_Tab<1,i> = "juin ":W_Tab<1,i>[4,2]
         CASE W_Tab<1,i>[1,2] = "07"
            W_Tab<1,i> = "juillet ":W_Tab<1,i>[4,2]
         CASE W_Tab<1,i>[1,2] = "08"
            W_Tab<1,i> = "aot ":W_Tab<1,i>[4,2]
         CASE W_Tab<1,i>[1,2] = "09"
            W_Tab<1,i> = "septembre ":W_Tab<1,i>[4,2]
         CASE W_Tab<1,i>[1,2] = "10"
            W_Tab<1,i> = "octobre ":W_Tab<1,i>[4,2]
         CASE W_Tab<1,i>[1,2] = "11"
            W_Tab<1,i> = "novembre ":W_Tab<1,i>[4,2]
         CASE W_Tab<1,i>[1,2] = "12"
            W_Tab<1,i> = "dcembre ":W_Tab<1,i>[4,2]
      END CASE

      RETURN


***************************************
*    Boucle de lecture des ACCORDS    *
***************************************
800

      W_FINIS="FAUX"
      W_Verif= "NON OK" 
      I=1

      LOOP
      WHILE W_FINIS="FAUX" DO		
         READ ENR_ACCORD FROM F.ACCORD,W_CLE[1,5]:I "R%3" THEN
            IF ENR_ACCORD<18> # "O" THEN

               IF W_CODESELECTION # "" THEN
                  IF ENR_ACCORD<1> = W_CODESELECTION THEN

                     GOSUB 810

                     IF W_TYPEEDITION = "3" AND W_ECLAT = "P" OR W_ECLAT = "M" THEN
                        IF W_PremiereVerif = "oui" AND W_Verif= "OK" THEN
                           W_PremiereVerif = "non"
                           RETURN
                        END
                     END
                  END
               END ELSE

                  GOSUB 810
*IF W_TYPEEDITION = 3 THEN
*	W_FINIS="VRAI"
*END
                  W_PremiereVerif = "non"
               END
            END
         END ELSE 
            W_FINIS="VRAI"
         END
         I=I+1
      REPEAT

      RETURN


*************************************
* Traitement individuel des ACCORDS *
*************************************
810

      IF W_TYPEETAT = "D" THEN
         IF ENR_ACCORD<5> > W_DATEDEBUT AND ENR_ACCORD<5> <= W_DATEFIN THEN

            READ ENR_ORGPRISECHARGE FROM F.ORGPRISECHARGE,ENR_ACCORD<1> ELSE PRINT "OrganismeAide"

            IF W_TYPEEDITION = 3 THEN

               IF W_PremiereVerif = "oui" THEN
                  W_Verif= "OK"
                  W_OK ="TRUE"
                  RETURN
               END

               READ ENR_ACTIVITES FROM F.ACTIVITES,W_CLE[6,6] ELSE PRINT "ACTIVITES"
               IF LEN(ENR_ACTIVITES<1>) > 14 THEN
                  ENR_ACTIVITES<1>=ENR_ACTIVITES<1>[1,14]
               END ELSE
                  ENR_ACTIVITES<1>=ENR_ACTIVITES<1>:SPACE(14-LEN(ENR_ACTIVITES<1>))
               END

               IF ENR_ACTIVITESBISAIDE<2> # "" THEN
                  i=1
                  LOOP
                  UNTIL ENR_ACTIVITESBISAIDE<2>=ENR_TABLES<2,i> OR ENR_TABLES<2,i>=""
                     i=i+1
                  REPEAT
                  IF ENR_TABLES<2,i> # "" THEN
                     W_Motif=ENR_TABLES<3,i>[1,23]
                  END
               END ELSE
                  W_Motif=""
               END

               IF W_Nom#0 THEN
                  IF W_Motif = "" THEN
                     W_TabOrg<W_Ligne,2>=W_Nom:ENR_ACTIVITES<1>:" ":OCONV(ENR_ACCORD<5>,"D4/")
                  END ELSE
                     W_TabOrg<W_Ligne,2>=W_Nom:ENR_ACTIVITES<1>:" ":OCONV(ENR_ACCORD<5>,"D4/"):" ":OCONV(ENR_ACCORD<6>,"D4/"):" ":W_Motif
                  END
               END
               W_TabOrg<W_Ligne,1>=ENR_ORGPRISECHARGE<1>

               W_OK =" TRUE"

               W_Ligne=W_Ligne +1

            END ELSE

               IF  W_CODESELECTION # "" THEN
                  IF W_First ="True" THEN
*N'indiquer qu'une fois le libell de l'organisme
                     W_Tab<2,1>= ENR_ORGPRISECHARGE<1>
                     W_First ="False"
                  END
                  W_Pos=2
               END	ELSE
                  W_Pos=0
                  FOR iPos=1 TO DCOUNT(W_Tab,CHAR(254))
                     IF W_Tab<iPos,1> = ENR_ORGPRISECHARGE<1> THEN
                        W_Pos=iPos
                        EXIT
                     END
                  NEXT iPos
                  IF W_Pos=0 THEN
                     W_Pos=iPos
                     W_Tab<W_Pos,1>= ENR_ORGPRISECHARGE<1>
                  END
               END

               W_MoisTrait=OCONV(ENR_ACCORD<5>,"D4/")
               W_MoisTrait=W_MoisTrait[4,3]:W_MoisTrait[9,2]

*W_OK =" TRUE"
               GOSUB 300
            END
         END

      END ELSE

         IF W_TYPEETAT = "F" THEN

            IF  ENR_ACTIVITESBISAIDE<1> >= ENR_ACCORD<5> AND ENR_ACTIVITESBISAIDE<1> <= ENR_ACCORD<6> THEN

               READ ENR_ORGPRISECHARGE FROM F.ORGPRISECHARGE,ENR_ACCORD<1> ELSE PRINT "OrganismeAide"

               IF W_TYPEEDITION = 3 AND W_ECLAT = "M" THEN

                  IF W_PremiereVerif = "oui" THEN
                     W_Verif= "OK"
                     W_OK ="TRUE"
                     RETURN
                  END

                  READ ENR_ACTIVITES FROM F.ACTIVITES,W_CLE[6,6] ELSE PRINT "ACTIVITES"
                  IF LEN(ENR_ACTIVITES<1>) > 14 THEN
                     ENR_ACTIVITES<1>=ENR_ACTIVITES<1>[1,14]
                  END ELSE
                     ENR_ACTIVITES<1>=ENR_ACTIVITES<1>:SPACE(14-LEN(ENR_ACTIVITES<1>))
                  END

                  IF ENR_ACTIVITESBISAIDE<2> # "" THEN
                     i=1
                     LOOP
                     UNTIL ENR_ACTIVITESBISAIDE<2>=ENR_TABLES<2,i> OR ENR_TABLES<2,i>=""
                        i=i+1
                     REPEAT
                     IF ENR_TABLES<2,i> # "" THEN
                        W_Motif=ENR_TABLES<3,i>[1,23]
                     END
                  END ELSE
                     W_Motif=""
                  END

                  W_Temp=W_Nom:ENR_ACTIVITES<1>:" ":OCONV(W_CLE[12,5],"D4/"):" ":OCONV(ENR_ACTIVITESBISAIDE<1>,"D4/"):" ":W_Motif

*****
                 IF W_Nom#0 THEN

                     W_TabOrg<W_Ligne,1>= ENR_ORGPRISECHARGE<1>
                     W_TabOrg<W_Ligne,2>=W_Temp
                     W_Nom = 0
                     W_Ligne=W_Ligne+1	
                  END
******	

                  W_OK ="TRUE"
*GOSUB 300

                  RETURN
               END ELSE

                  IF W_TYPEEDITION = "3" AND W_ECLAT = "P" THEN

                     IF W_PremiereVerif = "oui" THEN
                        W_Verif= "OK"
                        W_OK ="TRUE"
                        RETURN
                     END

                     READ ENR_ACTIVITES FROM F.ACTIVITES,W_CLE[6,6] ELSE PRINT "ACTIVITES"
                     IF LEN(ENR_ACTIVITES<1>) > 14 THEN
                        ENR_ACTIVITES<1>=ENR_ACTIVITES<1>[1,14]
                     END ELSE
                        ENR_ACTIVITES<1>=ENR_ACTIVITES<1>:SPACE(14-LEN(ENR_ACTIVITES<1>))
                     END

                     IF ENR_ACTIVITESBISAIDE<2> # "" THEN
                        i=1
                        LOOP
                        UNTIL ENR_ACTIVITESBISAIDE<2>=ENR_TABLES<2,i> OR ENR_TABLES<2,i>=""
                           i=i+1
                        REPEAT
                        IF ENR_TABLES<2,i> # "" THEN
                           W_Motif=ENR_TABLES<3,i>[1,23]
                        END
                     END ELSE
                        W_Motif=""
                     END

                     W_Temp=W_Nom:ENR_ACTIVITES<1>:" ":OCONV(W_CLE[12,5] ,"D4/"):" ":OCONV(ENR_ACTIVITESBISAIDE<1>,"D4/"):" ":W_Motif
*****
                     IF W_Nom#0 THEN

                        W_TabOrg<W_Ligne,1>= ENR_ORGPRISECHARGE<1>
                        W_TabOrg<W_Ligne,2>=W_Temp

                        W_Ligne=W_Ligne+1	
*END ELSE

                     END
******

                     W_OK ="TRUE"

                     RETURN
                  END

**cas des stats**

                  IF  W_CODESELECTION # "" THEN
                     IF W_First ="True" THEN
*N'indiquer qu'une fois le libell de l'organisme
                        W_Tab<2,1>= ENR_ORGPRISECHARGE<1>
                        W_First ="False"
                     END
                     W_Pos=2
                  END	ELSE

                     W_Pos=0
                     FOR iPos=1 TO DCOUNT(W_Tab,CHAR(254))
                        IF W_Tab<iPos,1> = ENR_ORGPRISECHARGE<1> THEN
                           W_Pos=iPos
                           EXIT
                        END
                     NEXT iPos

                     IF W_Pos=0 THEN
                        W_Pos=iPos
*W_Pos=iPos+1
                        W_Tab<W_Pos,1>= ENR_ORGPRISECHARGE<1>
                     END
                  END

                  IF W_ECLAT = "P" THEN

                     W_MoisTrait=OCONV(ENR_ACTIVITESBISAIDE<1>,"D4/")
                     W_MoisTrait=W_MoisTrait[4,3]:W_MoisTrait[9,2]

                  END ELSE

                     IF ENR_ACTIVITESBISAIDE<2> # "" THEN
                        i=1
                        LOOP
                        UNTIL ENR_ACTIVITESBISAIDE<2>=ENR_TABLES<2,i> OR ENR_TABLES<2,i>=""
                           i=i+1
                        REPEAT
                        IF ENR_TABLES<2,i> # "" THEN
                           W_Motif=ENR_TABLES<3,i>[1,23]
                        END
                     END ELSE
                        W_Motif=""
                     END

                  END

                  GOSUB 300
*Total sur la ligne
                  W_Tab<W_Pos,W_MVLigne+1>=W_Tab<W_Pos,W_MVLigne+1>+1

*W_OK ="TRUE"

               END
            END
         END ELSE
            IF W_TYPEETAT = "A" THEN

               IF ENR_ACCORD<5> <= W_DATEFIN AND ENR_ACCORD<6> >= W_DATEDEBUT OR ENR_ACCORD<7> ="" THEN

                  READ ENR_ORGPRISECHARGE FROM F.ORGPRISECHARGE,ENR_ACCORD<1> ELSE PRINT "OrganismeAide"
                  W_TabOrg<W_Ligne,1>= ENR_ORGPRISECHARGE<1>
                  IF W_TYPEEDITION = 3 THEN
                     IF W_PremiereVerif = "oui" THEN
                        W_Verif= "OK"
                        W_OK ="TRUE"
                        RETURN
                     END

                     READ ENR_ACTIVITES FROM F.ACTIVITES,W_CLE[6,6] ELSE PRINT "ACTIVITES"
                     IF LEN(ENR_ACTIVITES<1>) > 14 THEN
                        ENR_ACTIVITES<1>=ENR_ACTIVITES<1>[1,14]
                     END ELSE
                        ENR_ACTIVITES<1>=ENR_ACTIVITES<1>:SPACE(14-LEN(ENR_ACTIVITES<1>))
                     END

                     IF ENR_ACTIVITESBISAIDE<2> # "" THEN
                        i=1
                        LOOP
                        UNTIL ENR_ACTIVITESBISAIDE<2>=ENR_TABLES<2,i> OR ENR_TABLES<2,i>=""
                           i=i+1
                        REPEAT
                        IF ENR_TABLES<2,i> # "" THEN
                           W_Motif=ENR_TABLES<3,i>[1,23]
                        END
                     END ELSE
                        W_Motif=""
                     END
                     IF W_Nom#0 THEN
                        IF W_Motif = "" THEN
                           W_TabOrg<W_Ligne,2>=W_Nom:ENR_ACTIVITES<1>:" ":OCONV(ENR_ACCORD<5>,"D4/")
                        END ELSE
                           W_TabOrg<W_Ligne,2>=W_Nom:ENR_ACTIVITES<1>:" ":OCONV(ENR_ACCORD<5>,"D4/"):" ":OCONV(ENR_ACCORD<6>,"D4/"):" ":W_Motif
                        END
                     END

                     W_Ligne=W_Ligne +1 

                  END ELSE

                     IF  W_CODESELECTION # "" THEN
                        IF W_First ="True" THEN
*N'indiquer qu'une fois le libell de l'organisme
                           W_Tab<2,1>= ENR_ORGPRISECHARGE<1>
                           W_First ="False"
                        END
                        W_Pos=2
                     END	ELSE
                        W_Pos=0
                        FOR iPos=1 TO DCOUNT(W_Tab,CHAR(254))
                           IF W_Tab<iPos,1> = ENR_ORGPRISECHARGE<1> THEN
                              W_Pos=iPos
                              EXIT
                           END
                        NEXT iPos
                        IF W_Pos=0 THEN
*W_Pos=iPos+1
                           W_Pos=iPos
                           W_Tab<W_Pos,1>= ENR_ORGPRISECHARGE<1>
                        END
                     END

                     W_MoisTrait=OCONV(ENR_ACCORD<6>,"D4/")
                     W_MoisTrait=W_MoisTrait[4,3]:W_MoisTrait[9,2]

*Total sur la ligne
*                     W_Tab<W_Pos,W_MVLigne+1>=W_Tab<W_Pos,W_MVLigne+1>+1
                     W_OK =" TRUE"
                     GOSUB 300

                  END

*W_Ligne = W_Ligne + 1
                  W_OK =" TRUE"
               END
            END
         END
      END

      IF W_OK = "TRUE" THEN
         IF W_ECLAT="P" THEN
            GOSUB 820
         END
      END

      RETURN


*****************************************************************************************
*										Mikael 											*
*	//comme le sub 300, permet d'incrementer le nombre d'aide par colonne et ligne...	*
*****************************************************************************************
820

      IF W_TYPEETAT = "D" OR W_TYPEETAT = "F" THEN
*W_Nb = nombre de mois

         FOR i = 2 TO W_Nb

            IF W_Tab<1,i> = W_MoisTrait THEN
               W_Tab<W_Pos,i> = W_Tab<W_Pos,i> + 1

*On ajoute egalement 1 dans le total colonne
               W_TabCol<i> = W_TabCol<i>+1
               W_TabCol<W_Nb+1> = W_TabCol<W_Nb+1>+1
               EXIT
            END
         NEXT i
      END ELSE

*Nous sommes en actif danc il faut prendre que la priode de l'accord
*sur la priode slectionne donc rcuperer la date de dbut et la date de fin
*pour ajouter 1 dans les mois compris entre la date date de dbut et la date de fin

         IF ENR_ACCORD<5> <= W_DATEDEBUT THEN
            W_ParcourDeb  = W_DATEDEBUT
         END ELSE
            W_ParcourDeb  = ENR_ACCORD<5>
         END

         W_ParcourDeb=OCONV(W_ParcourDeb,"D4/")
         W_ParcourDeb=W_ParcourDeb[4,3]:W_ParcourDeb[9,2]

         IF ENR_ACCORD<6> >= W_DATEFIN THEN
            W_ParcourFin  = W_DATEFIN
         END ELSE
            W_ParcourFin  = ENR_ACCORD<6>
         END

         W_ParcourFin=OCONV(W_ParcourFin,"D4/")
         W_ParcourFin=W_ParcourFin[4,3]:W_ParcourFin[9,2]

*parcours pour connaitre la position de debut et de fin dans le tableau
         FOR K =1 TO 2
            IF K = 1 THEN
               W_Boucle = W_ParcourDeb
            END ELSE
               W_Boucle = W_ParcourFin
            END

            FOR i = 2 TO W_Nb
               IF W_Tab<1,i> = W_Boucle THEN
                  IF K = 1 THEN
                     W_BoucleDeb = i
                  END ELSE
                     W_BoucleFin = i
                  END
                  EXIT
               END
            NEXT i
         NEXT K
*On ajoute 1 dans la cellule
         FOR i = W_BoucleDeb TO W_BoucleFin
            W_Tab<W_Pos,i>=W_Tab<W_Pos,i> + 1
*On ajoute egalement 1 dans le total colonne
            W_TabCol<i>=W_TabCol<i>+1
         NEXT i
      END
      RETURN


*******************************************
*         PROCEDURE DE TRI                *
*******************************************
830


      M=0
      N=0
      P=0

      W_COMPTEUR = DCOUNT(W_TabOrg,CHAR(254))

      FOR M = 1 TO W_COMPTEUR

         N=M
         P=N+1

         LOOP
         WHILE P <= W_COMPTEUR DO
            IF W_TabOrg<P,1> < W_TabOrg<N,1> THEN
               N = P
            END
            P = P + 1
         REPEAT

         IF N <> I THEN
            W_Tempo<1,1> = W_TabOrg<N,1>
            W_Tempo<1,2> = W_TabOrg<N,2>

            W_TabOrg<N,1> = W_TabOrg<M,1>
            W_TabOrg<N,2> = W_TabOrg<M,2>

            W_TabOrg<M,1> = W_Tempo<1,1>
            W_TabOrg<M,2> = W_Tempo<1,2>
         END
      NEXT M

      RETURN
