Calculer l'indemnité de congé d'un employé
yg_be -
Je souhaiterais calculer le congé d'un travailleur , en effet le congé est acquis après 12 mois de présence ; un travailleur est pointé chaque mois selon le nombre de jour effectués dans un mois donné et reçoit sa paie à la fin du mois , et à la fin du mois anniversaire de son entrée dans l'entreprise il reçoit et sa paie mensuelle et son indemnités de congé qui sera calculé en tenant compte de son salaire catégoriel, son sursalaire les autre indemnités sa prime d'ancienneté ; aussi le congé pourrait lui être versé quand son contrat de travail prend fin au prorata du temps de présence
Jai deja cette requete et je souhaite que la gratification soit payée un mois avant la date anniversaire du mois d'entrée du travailleur ; celle ci fonctionne mais au mois anniversaire
1 SELECT REQ_PAIE.CODE_EMPLOYE, REQ_PAIE.DATE_PAIE, Round((Nz(([REQ_PAIE].
2 [SALAIRE_CATEGORIEL]+[REQ_PAIE].[SURSALAIRE]+[REQ_PAIE].[AUTRES_INDEMNITES]+[REQ_PAIE].
3 [PRIME_ANC]+Nz([TotSalPrec]))))*2.2*7/6/30) AS CONGES
4 FROM REQ_PAIE LEFT JOIN REQ_PREP_CONG ON (REQ_PAIE.CODE_EMPLOYE =
5 REQ_PREP_CONG.CODE_EMPLOYE) AND (REQ_PAIE.DATE_PAIE = REQ_PREP_CONG.DATE_PAIE)
6 WHERE (((Month([REQ_PAIE].[DATE_PAIE]))=Month([REQ_PAIE].[date_entree]) And (Month([REQ_PAIE].
7 [DATE_PAIE]))>Year([REQ_PAIE].[date_entree]))) OR (((Month([DATE_FIN]))=Month([DATE_PAIE])) AND
8 ((Year([DATE_FIN]))=Year([DATE_PAIE])) AND ((REQ_PAIE.DATE_FIN)>[DATE_PAIE]));
- Calculer l'indemnité de congé d'un employé
- Comment calculer une moyenne - Guide
- Planning congé - Guide
- Barbara veut calculer automatiquement son budget dans un tableau. citez un des logiciels lui permettant de faire des calculs sur des tableaux de nombres (tableur). ✓ - Forum finances
- Comment calculer une note sur 20 - Forum Bureautique
- Roland souhaite calculer le montant total des ventes de son magasin. le fichier contient, pour chaque produit, la quantité vendue et le prix unitaire. calculez le montant total des ventes. ✓ - Forum Excel
11 réponses
Le sujet porte sur le calcul du congé acquis après douze mois de présence et sur les modalités de paiement à la fin du mois anniversaire et au prorata en fin de contrat.
Plusieurs éléments de réponse évoquent des méthodes basées sur les salaires catégoriels, sursalaire, autres indemnités et prime d’ancienneté, l’ajustement de l’indemnité de congé selon ces composantes et la date d’entrée.
Plusieurs répondants suggèrent d’inspecter les requêtes, de vérifier les résultats attendus et de clarifier les paramètres clés (date_entree, date_paie, date_fin, mois concernés), afin d’identifier où le calcul dévie.
D’autres échanges notent qu’une gratification peut influencer le calcul du congé et être versée un mois avant l’anniversaire, nécessitant une cohérence des dates et des conditions de fin.
"un mois avant": ne suffit-il pas, alors, de soustraire un au mois?
SELECT REQ_PAIE.CODE_EMPLOYE, REQ_PAIE.DATE_PAIE, Round((Nz(([REQ_PAIE].[SALAIRE_CATEGORIEL]+[REQ_PAIE].[SURSALAIRE]+[REQ_PAIE].[AUTRES_INDEMNITES]+[REQ_PAIE].[PRIME_ANC]+Nz([TotSalPrec]))))*2.2*7/6/30) AS CONGES FROM REQ_PAIE LEFT JOIN REQ_PREP_CONG ON (REQ_PAIE.DATE_PAIE = REQ_PREP_CONG.DATE_PAIE) AND (REQ_PAIE.CODE_EMPLOYE = REQ_PREP_CONG.CODE_EMPLOYE) WHERE (((Month([REQ_PAIE].[DATE_PAIE]))=Month([REQ_PAIE].[date_entree])-1 And (Month([REQ_PAIE].[DATE_PAIE]))>Year([REQ_PAIE].[date_entree]))) OR (((Month([DATE_FIN]))=Month([DATE_PAIE])) AND ((Year([DATE_FIN]))=Year([DATE_PAIE])) AND ((REQ_PAIE.DATE_FIN)>[DATE_PAIE]));
Edit: Correction des balises de code..
SELECT REQ_PAIE.CODE_EMPLOYE, REQ_PAIE.DATE_PAIE, Round((Nz(([REQ_PAIE].[SALAIRE_CATEGORIEL]+[REQ_PAIE].[SURSALAIRE]+[REQ_PAIE].[AUTRES_INDEMNITES]+[REQ_PAIE].[PRIME_ANC]+Nz([TotSalPrec]))))*2.2*7/6/30) AS CONGES
FROM REQ_PAIE LEFT JOIN REQ_PREP_CONG ON (REQ_PAIE.CODE_EMPLOYE = REQ_PREP_CONG.CODE_EMPLOYE) AND (REQ_PAIE.DATE_PAIE = REQ_PREP_CONG.DATE_PAIE)
WHERE (((Month([REQ_PAIE].[DATE_PAIE]))=Month(DateSerial(2020,Month([REQ_PAIE].[date_entree])-1,1)))) OR (((Month([DATE_FIN]))=Month([DATE_PAIE])) AND ((Year([DATE_FIN]))=Year([DATE_PAIE])) AND ((REQ_PAIE.DATE_FIN)>[DATE_PAIE]));
est-ce correct?
je teste ainsi:
1) j'ouvre la base partagée en #4
2) je remplace la source SQL de REQ_DEF_CONGE par la source partagée en #6
3) j'exécute la requête ainsi modifiée
je ne reçois rien, comme toi.
et cela me semble normal.
qu'attends-tu d'autre? pourquoi?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionJ'obtiens le résultat décrit en #50.
Je ne sais pas ce que tu as changé dans ton fichier entre les versions #14 et #44, ni pourquoi tu penses que la version #44 est meilleure que la #14.
Je constate, cependant, que la requête REQ_DEF_CONGE s'est dégradée.
Round((Nz(([REQ_PAIE].[SALAIRE_CATEGORIEL]+[REQ_PAIE].[SURSALAIRE]+[REQ_PAIE].[AUTRES_INDEMNITES]+[REQ_PAIE].[PRIME_ANC]+[MOUVEMENTS].[GRATIF]+Nz([TotSalPrec])))))*2.2*7/6/30 AS CONGES
faire une nouvelle requête (appelons-là REQ_CONGE), qui à partir de REQ_MOUV et REQ_PREP_CONGE, reprend toutes les infos de REQ_MOUV, ajoute l'indemnité de congé au salaire brut, et calcule les retenues.
C'était le point 6 du message publié le 1 déc. 2021 à 19:01 dans la discussion https://forums.commentcamarche.net/forum/affich-37429835-calcul-de-l-indemnites-de-conges
Pour t'aider à corriger cela, je t'invite à faire une liste de toutes les requêtes, avec, pour chaque requête, ses sources (tables et/ou requêtes). Cette liste t'aidera à identifier des erreurs et à les corriger.
SELECT REQ_MOUV.NUMERO_BULLETIN, REQ_MOUV.Date, REQ_MOUV.CODE_SOCIETE, REQ_MOUV.NOM_SOCIETE, REQ_MOUV.CODE_EMPLOYE, REQ_MOUV.NOM_EMPLOYE, REQ_MOUV.PRENOM_EMPLOYE, REQ_MOUV.NUMERO_CNPS, REQ_MOUV.TAUX_TRANSPORT, REQ_MOUV.SITUATION_MATRIMONIALE, REQ_MOUV.NBRE_ENFANTS, REQ_MOUV.TITRE, REQ_MOUV.ADRESSE, REQ_MOUV.DATE_ENTREE, REQ_MOUV.EMPLOI_OCCUPE, REQ_MOUV.ID_SERVICE, REQ_MOUV.DESIGNATION_SRVICE, REQ_MOUV.ETABLISSEMENT_BANCAIRE, REQ_MOUV.NUMERO_COMPTE_BANCAIRE, REQ_MOUV.ID_CATEGORIE, REQ_MOUV.LIBELLE_CATEGORIE, REQ_MOUV.TAUX_CATEGORIEL, REQ_MOUV.SURSALAIRE, REQ_MOUV.NOMBRE_JOUR, REQ_MOUV.SALAIRE_CATEGORIEL, REQ_MOUV.PRIME_ANC, REQ_MOUV.AUTRES_INDEMNITES, REQ_PREP_CONGE.CONGES, REQ_MOUV.GRATIF, Nz([SAL_BRUT]+[CONGES],0) AS SALAIRE_BRUT, [SALAIRE_BRUT]*0.012 AS ITS, IIf(Round([SALAIRE_BRUT]/1000,0)*1000*8/10<=50000,0,IIf(Round([SALAIRE_BRUT]/1000,0)*1000*8/10<=130000,((Round([SALAIRE_BRUT]/1000,0)*1000)*8/10-50000)*15/1000,IIf(Round([SALAIRE_BRUT]/1000,0)*1000*8/10<=200000,((((Round([SALAIRE_BRUT]/1000,0)*1000)*8/10-130000)*5/100)+1200),((((Round([SALAIRE_BRUT]/1000,0)*1000)*8/10-200000)*1/10)+4700)))) AS CN, IIf([SITUATION_MATRIMONIALE]="CELIBATAIRE",[NBRE_ENFANTS]*0.5+1,[NBRE_ENFANTS]*0.5+2) AS NBRE_PART, Format(IIf([IMPOTREVENU]<=25000,0,IIf([IMPOTREVENU]<=45583,0.85/11*(0.8*Round([SALAIRE_BRUT]/1000)*1000-[ITS]+[CN])-[NBRE_PART]*2281,IIf([IMPOTREVENU]<=(979000/12),0.85*(0.8*Round([SALAIRE_BRUT]/1000)*1000-([ITS]+[CN]))*15/115-[NBRE_PART]*48913/12,IIf([IMPOTREVENU]<=(1519000/12),0.85*(0.8*Round([SALAIRE_BRUT]/1000)*1000-([ITS]+[CN]))*1/6-[NBRE_PART]*84375/12,IIf([IMPOTREVENU]<=(2644000/12),0.85*(0.8*Round([SALAIRE_BRUT]/1000)*1000-([ITS]+[CN]))*25/125-[NBRE_PART]*11250,IIf([IMPOTREVENU]<=4669000/12,0.85*(0.8*Round([SALAIRE_BRUT]/1000)*1000-([ITS]+[CN]))*35/135-[NBRE_PART]*291667/12,IIf([IMPOTREVENU]<=10106000/12,0.85*(0.8*Round([SALAIRE_BRUT]/1000,0)*1000-([ITS]+[CN]))*45/145-[NBRE_PART]*530172/12,0.85*(0.8*Round([SALAIRE_BRUT]/1000,0)*1000-([ITS]+[CN]))*60/160-[NBRE_PART]*1183594/12))))))),0) AS IGR, REQ_MOUV.DATE_FIN, Round(Nz(0.85*(0.8*Round([SALAIRE_BRUT]/1000)*1000-([ITS]+[CN]))/[NBRE_PART],0),0) AS IMPOTREVENU, Round([SALAIRE_BRUT]-[its]-[cn]-[igr],0) AS SALAIRE_NET, REQ_MOUV.MENSUALITE_RETENUE_PRET, [TAUX_TRANSPORT]*[NOMBRE_JOUR] AS TRANSPORT, [salaire_net]+[transport]-[MENSUALITE_RETENUE_PRET] AS [NET A PAYER]
FROM REQ_MOUV LEFT JOIN REQ_PREP_CONGE ON (REQ_MOUV.CODE_EMPLOYE = REQ_PREP_CONGE.CODE_EMPLOYE) AND (REQ_MOUV.Date = REQ_PREP_CONGE.Date);
Pour la liste des requetes et leur source je l'ai établie mais je n'ai pas encore fait la remarque ; est ce que vous pourriez me donner des pistes pour attirer mon attention
merci
https://forums.commentcamarche.net/forum/affich-37370773-mise-a-jour-des-parametres-de-la-paie-sans-modifier-les-salaires-anterieures#11
pour la table mouvement:
comme il s'agit d'un salaire mensuel, je mettrais toujours dans la colonne DateMouvement la date de premier jour du mois.
et je mettrais un index unique sur (DateMouvement, Code_Employe), pour empêcher un accident où on aurait deux fois les infos avec le même employé et le même mois.
Comme je te l'ai rappelé le 15 déc. 2021 à 15:52: le champs DATE_PAIE est bien calculé dans REQ_PAIE, mais est ensuite négligé par les autres requêtes, et on retrouve finalement une date incorrecte dans DateMov de la table Mouvements.
A cause de cela, plusieurs requêtes donnent un résultat incorrect.
Est-ce utile, dans la table Mouvements, d'avoir aussi la date comme est encodée dans la table PAIE?
effectivement dans la table MOUVEMENT ; il a 2 clés primaires à savoir la datemov et le code employé pour empêcher les répétions des mêmes infos
dans les autres requetes ; j'ai pris en compte DATE_PAIE; mais ca ne change rien au niveau des resultats des requetes
voici la requete congé :
SELECT REQ_MOUV.NUMERO_BULLETIN, REQ_MOUV.DATE_PAIE, REQ_MOUV.CODE_SOCIETE, REQ_MOUV.NOM_SOCIETE, REQ_MOUV.CODE_EMPLOYE, REQ_MOUV.NOM_EMPLOYE, REQ_MOUV.PRENOM_EMPLOYE, REQ_MOUV.NUMERO_CNPS, REQ_MOUV.TAUX_TRANSPORT, REQ_MOUV.SITUATION_MATRIMONIALE, REQ_MOUV.NBRE_ENFANTS, REQ_MOUV.TITRE, REQ_MOUV.ADRESSE, REQ_MOUV.DATE_ENTREE, REQ_MOUV.EMPLOI_OCCUPE, REQ_MOUV.ID_SERVICE, REQ_MOUV.DESIGNATION_SRVICE, REQ_MOUV.ETABLISSEMENT_BANCAIRE, REQ_MOUV.NUMERO_COMPTE_BANCAIRE, REQ_MOUV.ID_CATEGORIE, REQ_MOUV.LIBELLE_CATEGORIE, REQ_MOUV.TAUX_CATEGORIEL, REQ_MOUV.SURSALAIRE, REQ_MOUV.NOMBRE_JOUR, REQ_MOUV.SALAIRE_CATEGORIEL, REQ_MOUV.PRIME_ANC, REQ_MOUV.AUTRES_INDEMNITES, REQ_PREP_CONGE.CONGES, REQ_MOUV.GRATIF, Nz([SAL_BRUT]+[CONGES],0) AS SALAIRE_BRUT, [SALAIRE_BRUT]*0.012 AS ITS, IIf(Round([SALAIRE_BRUT]/1000,0)*1000*8/10<=50000,0,IIf(Round([SALAIRE_BRUT]/1000,0)*1000*8/10<=130000,((Round([SALAIRE_BRUT]/1000,0)*1000)*8/10-50000)*15/1000,IIf(Round([SALAIRE_BRUT]/1000,0)*1000*8/10<=200000,((((Round([SALAIRE_BRUT]/1000,0)*1000)*8/10-130000)*5/100)+1200),((((Round([SALAIRE_BRUT]/1000,0)*1000)*8/10-200000)*1/10)+4700)))) AS CN, IIf([SITUATION_MATRIMONIALE]="CELIBATAIRE",[NBRE_ENFANTS]*0.5+1,[NBRE_ENFANTS]*0.5+2) AS NBRE_PART, Format(IIf([IMPOTREVENU]<=25000,0,IIf([IMPOTREVENU]<=45583,0.85/11*(0.8*Round([SALAIRE_BRUT]/1000)*1000-[ITS]+[CN])-[NBRE_PART]*2281,IIf([IMPOTREVENU]<=(979000/12),0.85*(0.8*Round([SALAIRE_BRUT]/1000)*1000-([ITS]+[CN]))*15/115-[NBRE_PART]*48913/12,IIf([IMPOTREVENU]<=(1519000/12),0.85*(0.8*Round([SALAIRE_BRUT]/1000)*1000-([ITS]+[CN]))*1/6-[NBRE_PART]*84375/12,IIf([IMPOTREVENU]<=(2644000/12),0.85*(0.8*Round([SALAIRE_BRUT]/1000)*1000-([ITS]+[CN]))*25/125-[NBRE_PART]*11250,IIf([IMPOTREVENU]<=4669000/12,0.85*(0.8*Round([SALAIRE_BRUT]/1000)*1000-([ITS]+[CN]))*35/135-[NBRE_PART]*291667/12,IIf([IMPOTREVENU]<=10106000/12,0.85*(0.8*Round([SALAIRE_BRUT]/1000,0)*1000-([ITS]+[CN]))*45/145-[NBRE_PART]*530172/12,0.85*(0.8*Round([SALAIRE_BRUT]/1000,0)*1000-([ITS]+[CN]))*60/160-[NBRE_PART]*1183594/12))))))),0) AS IGR, REQ_MOUV.DATE_FIN, Round(Nz(0.85*(0.8*Round([SALAIRE_BRUT]/1000)*1000-([ITS]+[CN]))/[NBRE_PART],0),0) AS IMPOTREVENU, Round([SALAIRE_BRUT]-[its]-[cn]-[igr],0) AS SALAIRE_NET, REQ_MOUV.MENSUALITE_RETENUE_PRET, [TAUX_TRANSPORT]*[NOMBRE_JOUR] AS TRANSPORT, [salaire_net]+[transport]-[MENSUALITE_RETENUE_PRET] AS [NET A PAYER]
FROM REQ_MOUV LEFT JOIN REQ_PREP_CONGE ON (REQ_MOUV.DATE_PAIE = REQ_PREP_CONGE.DATE_PAIE) AND (REQ_MOUV.CODE_EMPLOYE = REQ_PREP_CONGE.CODE_EMPLOYE);
As-tu testé le calcul de l'indemnité de congé si la gratification est payée le même mois?
voici la requête REQ_AJOUT_MOUV
INSERT INTO Mouvements ( NUMERO_BULLETIN, DateMov, CODE_SOCIETE, NOM_SOCIETE, CODE_EMPLOYE, NOM_EMPLOYE, PRENOM_EMPLOYE, DATE_ENTREE, TAUX_CATEGORIEL, SURSALAIRE, NOMBRE_JOUR, SALAIRE_CATEGORIEL, PRIME_ANC, AUTRES_INDEMNITES, CONGES, GRATIF, SALAIRE_BRUT, ITS, CN, IGR, SALAIRE_NET, MENSUALITE_RETENUE_PRET, TRANSPORT, NET_A_PAYER, DATE_FIN_CONTRAT )
SELECT REQ_CONGE_DEFINITIF.NUMERO_BULLETIN, REQ_CONGE_DEFINITIF.DATE_PAIE, REQ_CONGE_DEFINITIF.CODE_SOCIETE, REQ_CONGE_DEFINITIF.NOM_SOCIETE, REQ_CONGE_DEFINITIF.CODE_EMPLOYE, REQ_CONGE_DEFINITIF.NOM_EMPLOYE, REQ_CONGE_DEFINITIF.PRENOM_EMPLOYE, REQ_CONGE_DEFINITIF.DATE_ENTREE, REQ_CONGE_DEFINITIF.TAUX_CATEGORIEL, REQ_CONGE_DEFINITIF.SURSALAIRE, REQ_CONGE_DEFINITIF.NOMBRE_JOUR, REQ_CONGE_DEFINITIF.SALAIRE_CATEGORIEL, REQ_CONGE_DEFINITIF.PRIME_ANC, REQ_CONGE_DEFINITIF.AUTRES_INDEMNITES, REQ_CONGE_DEFINITIF.CONGES, REQ_CONGE_DEFINITIF.GRATIF, REQ_CONGE_DEFINITIF.SALAIRE_BRUT, REQ_CONGE_DEFINITIF.ITS, REQ_CONGE_DEFINITIF.CN, REQ_CONGE_DEFINITIF.IGR, REQ_CONGE_DEFINITIF.SALAIRE_NET, REQ_CONGE_DEFINITIF.MENSUALITE_RETENUE_PRET, REQ_CONGE_DEFINITIF.TRANSPORT, REQ_CONGE_DEFINITIF.[NET A PAYER], REQ_CONGE_DEFINITIF.DATE_FIN
FROM REQ_CONGE_DEFINITIF;
2) si le résultat de REQ_CONGE_DEFINITIF est correct et la table MOUVEMENTS ne contient pas les informations correctes après avoir utilisé REQ_AJOUT_MOUV, je pense à ces trois sources d'erreurs:
a) le tableau partagé en #96 n'est pas correct, ne correspond pas à la réalité
b) tu ne respectes pas les règles d'utilisation de la base de données
c) tu ignores des avertissements reçus, ou tu as modifié des options pour éviter de recevoir ces avertissements.
maintenant la table MOUVEMENT contient un montant qui est diffèrent de 0 et qui ne tient pas compte de la gratification payée ; en fait il reste à intégrer dans le calcul du congé la dernière gratification payée pour le travailleur
"en fait il reste à intégrer dans le calcul du congé la dernière gratification payée pour le travailleur"
J'essaie donc de te faire découvrir ce que tu dois corriger pour cela.
mais pour le cas ou la gratification n'est pas calculée le même mois de congé alors pour le moment rien ne s'affiche dans le calcul du congé car la REQ_MOUV affiche seulement le cas ou la gratification est pour le même mois
SELECT REQ_MOUV.CODE_EMPLOYE, REQ_MOUV.DATE_PAIE, Nz(Round((Nz(([SALAIRE_CATEGORIEL]+[SURSALAIRE]+[AUTRES_INDEMNITES]+Nz([REQ_MOUV].[GRATIF],0)+[PRIME_ANC]+Nz([TotSalPrec]))))*2.2*7/6/30)) AS CONGES
FROM REQ_MOUV LEFT JOIN REQ_PREP_CONG ON (REQ_MOUV.DATE_PAIE = REQ_PREP_CONG.DATE_PAIE) AND (REQ_MOUV.CODE_EMPLOYE = REQ_PREP_CONG.CODE_EMPLOYE)
WHERE (((Month([REQ_MOUV].[DATE_PAIE]))=Month(DateSerial(2020,Month([REQ_MOUV].[date_entree])-1,1)))) OR (((Month([REQ_MOUV].[DATE_FIN]))=Month([REQ_PREP_CONG].[DATE_PAIE])) AND ((Year([REQ_MOUV].[DATE_FIN]))=Year([REQ_PREP_CONG].[DATE_PAIE])) AND ((REQ_MOUV.DATE_FIN)=[REQ_PREP_CONG].[DATE_PAIE]))
GROUP BY REQ_MOUV.CODE_EMPLOYE, REQ_MOUV.DATE_PAIE, Nz(Round((Nz(([SALAIRE_CATEGORIEL]+[SURSALAIRE]+[AUTRES_INDEMNITES]+Nz([REQ_MOUV].[GRATIF],0)+[PRIME_ANC]+Nz([TotSalPrec]))))*2.2*7/6/30));
SELECT REQ_PAIE.CODE_EMPLOYE, REQ_PAIE.DATE_PAIE, DateMov, (Nz([SALAIRE_BRUT]))-([mouvements].[conges]) AS SalPrec FROM REQ_PAIE LEFT JOIN Mouvements ON REQ_PAIE.CODE_EMPLOYE = Mouvements.CODE_EMPLOYE WHERE (((REQ_PAIE.CODE_EMPLOYE)=Mouvements.CODE_EMPLOYE) And ((Month([DateMov]))<=Month([DATE_PAIE]))) order by REQ_PAIE.CODE_EMPLOYE, REQ_PAIE.DATE_PAIE, DateMov
Cette nouvelle requête devrait te montrer quels salaires sont utilisés à partir de la table MOUVEMENTS.
SELECT REQ_PAIE.CODE_EMPLOYE, REQ_PAIE.DATE_PAIE, Mouvements.DateMov, (Nz([SALAIRE_BRUT]))-([mouvements].[conges]) AS TotSalPrec, Month([DateMov]) as moismouv, Month([DATE_PAIE]) as moispaie FROM REQ_PAIE LEFT JOIN Mouvements ON REQ_PAIE.CODE_EMPLOYE = Mouvements.CODE_EMPLOYE WHERE (((REQ_PAIE.CODE_EMPLOYE)=[Mouvements].[CODE_EMPLOYE]) AND ((Month([DateMov]))<=Month([DATE_PAIE]))) ORDER BY REQ_PAIE.CODE_EMPLOYE, REQ_PAIE.DATE_PAIE, Mouvements.DateMov;