Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Calcul plutot complique...

5 réponses
Avatar
Thibault
Bonjour a tous et a toutes!

Je suis entrain de faire une base qui a comme objectifs (lun dentre eux) de
calculer les salaires des salaries.Et comme je suis au Honduras, et que les
choses y sont toujours plus compliquer , il y a un certain nombre de calcul a
faire dont celui ci qui est plutot coton.

Il sagit de calculer le montant de la couverture sociale des employees lors
d accidents ou de maladie qui les empeche de venir travailler... Alors a l
ecrit le calcul se presente comme suit:

SI l employee a plus de 5ans dans lentreprise : les 3 premier jours d
absence son paye a 100% par lentreprise.
Si lemploye a moi de 5ans de boite, alors seulement 50% du salaire sera verser

A partir du 4eme jour et plus, si le salarie moins ou egal de 4800
(lempiras) alors 66% du salaire sera paye par la securite sociale et donc
34% par lentreprise.

Sil gagne plus de 4800 alors la securite sociale paye 66% de 4800 et
lentreprise doit verser le reste (pour arriver a 100%...)

Voila... plutot baleze nest ce pas?
Je pense mettre ce calcul dans une requete a cote de tous les autres calculs
du salaire (il y en a dautre, mais celui est le plus tordu). Mais si vous
pensez quun petit code serai plus approprie , je suis preneur... (en fait je
nutilise le code que sur les formulaire... :-( )

En fait il y deux choses que m embete dans ce calcul. Tout dabors , comment
calculer les annees de anciennete des employees? Je peux bien le calculer et
larchiver dans une base chaque annee... mais il doit bien avoir une maniere
pour un calcul automatique en fonction de la date dentre dans lentreprise (
ca oui cest archiver) et en function de la date daujourdhui...
Lautre chose encore plus embetante... Bon, ce calcul se fera mensuel , donc
je nai pas besoin de savoir jour par jour le montant des remboursements. Mais
justement , comment Access pourra m archiver les remboursements journaliers
pour ensuite me les additionner et me donner a la fin du mois la somme a
verse par lentreprise et la somme que versera la securite sociale?? Et
dailleur , comment Access comprendra t il que suivant le nombre de jour de
maladie , le calcul change?

Bref un vrai defi , Si mes explications manque de clarete , ou si vous avez
besoin de plus dinformation n hesitez pas:
thiblafouine@hotmail.com (c est un tres vieux nick, ne faite pas
attention...:-))

Merci a tous!

5 réponses

Avatar
Eric
Bonjour donc,

Pour calculer l'ancienneté (en années pleines) en fonction de la date
d'entrée, c'est comme pour l'age, donc:
Anciennete:
DiffDate("aaaa";[DateEntree];Date())+(Format(Date();"mmjj")>Format([DateEntree];"mmjj"))
dans une requête.

ou dans du code:
AncienneteÚteDiff("yyyy",[DateEntree],Date())+(Format(Date(),"mmdd")>Format([DateEntree],"mmdd"))


Pour ton calcul, je pense qu'il faudrait coder une fonction personnelle,
appelable dans une requête, qui aurait 4 arguments : l'IdSalarie, le
salaire, l'ancienneté et le nombre de jours d'absence en admettant que
le salarié soit au plus malade une fois dans le mois.
Toutefois, il manque une info dans ton problème : le nb de jours
travaillés par mois.
"Si lemploye a moi de 5ans de boite, alors seulement 50% du salaire sera
verser" doit être compris comme 50% du salaire des 3 jours sera versé.

Le salarié est malade du vendredi au mardi : combien de jours d'absences
doit-on compter?
Pour un mois donné, le salarié est absent pour maladie 2 jours la 1ere
semaine puis 5 jours la 3eme. Comment est-il indemnisé ?
Pour apporter une réponse à ce problème de paie, il faudrait l'algo de
traitement.

Le montant que versera la SS du Honduras ne serait-il pas le complément
au salaire des sommes versées par l'entreprise si l'absence est
supérieure à 3 jours ?

Plus de questions que de réponses ;-)

Bonjour a tous et a toutes!

Je suis entrain de faire une base qui a comme objectifs (lun dentre eux) de
calculer les salaires des salaries.Et comme je suis au Honduras, et que les
choses y sont toujours plus compliquer , il y a un certain nombre de calcul a
faire dont celui ci qui est plutot coton.

Il sagit de calculer le montant de la couverture sociale des employees lors
d accidents ou de maladie qui les empeche de venir travailler... Alors a l
ecrit le calcul se presente comme suit:

SI l employee a plus de 5ans dans lentreprise : les 3 premier jours d
absence son paye a 100% par lentreprise.
Si lemploye a moi de 5ans de boite, alors seulement 50% du salaire sera verser

A partir du 4eme jour et plus, si le salarie moins ou egal de 4800
(lempiras) alors 66% du salaire sera paye par la securite sociale et donc
34% par lentreprise.

Sil gagne plus de 4800 alors la securite sociale paye 66% de 4800 et
lentreprise doit verser le reste (pour arriver a 100%...)

Voila... plutot baleze nest ce pas?
Je pense mettre ce calcul dans une requete a cote de tous les autres calculs
du salaire (il y en a dautre, mais celui est le plus tordu). Mais si vous
pensez quun petit code serai plus approprie , je suis preneur... (en fait je
nutilise le code que sur les formulaire... :-( )

En fait il y deux choses que m embete dans ce calcul. Tout dabors , comment
calculer les annees de anciennete des employees? Je peux bien le calculer et
larchiver dans une base chaque annee... mais il doit bien avoir une maniere
pour un calcul automatique en fonction de la date dentre dans lentreprise (
ca oui cest archiver) et en function de la date daujourdhui...
Lautre chose encore plus embetante... Bon, ce calcul se fera mensuel , donc
je nai pas besoin de savoir jour par jour le montant des remboursements. Mais
justement , comment Access pourra m archiver les remboursements journaliers
pour ensuite me les additionner et me donner a la fin du mois la somme a
verse par lentreprise et la somme que versera la securite sociale?? Et
dailleur , comment Access comprendra t il que suivant le nombre de jour de
maladie , le calcul change?

Bref un vrai defi , Si mes explications manque de clarete , ou si vous avez
besoin de plus dinformation n hesitez pas:
(c est un tres vieux nick, ne faite pas
attention...:-))

Merci a tous!


--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Thibault
Bonjour ,

Et bien on dirai que ce sera encore pour toi!...
Passons au vif du sujet:
TU penses que je devrai faire cette requete a part du reste? genre une
requete speciale?

si jamais jai Mr Robert que est entre dans le boite au premier janvier 2001
, jaurai donc :
Anciennete:
DiffDate("aaaa";[01/01/2001];Date())+(Format(Date();"mmjj")>Format([01/01/2001];"mmjj"))
dans une requête?? sur quil manque qqchose...


le nb de jours travaillés par mois: 30 ( les samedi et dimanche sont paye )

"Si lemploye a moi de 5ans de boite, alors seulement 50% du salaire sera
verser" doit être compris : 50% du salaire quotidien est verse par lentreprise,et 50% par la securite sociale.

Le salarié est malade du vendredi au mardi : combien de jours d'absences
doit-on compter?=> tout les jours, soit 5 jours. (samedi et dimanche sont paye)

Pour un mois donné, le salarié est absent pour maladie 2 jours la 1ere
semaine puis 5 jours la 3eme. Comment est-il indemnisé ?
Les jours de maladie doivent etre suivi . Les deux premier jour seront

rembouser a 100% (on va dire quil a plus de 5ans dancienete) . Et pour la
deuxieme fois du mois , on reprend tout a zero: 3 premiers jours a 100% et le
reste ...etc...
Il faut que les jours darret maladie se suivent, meme s il y a seulement 1
jour de travail, on reprend le calcul depuis le debut.


l'algo de traitement => sorry aucune idee de ce que c est...

Le montant que versera la SS du Honduras ne serait-il pas le complément
au salaire des sommes versées par l'entreprise si l'absence est
supérieure à 3 jours ?
=> Nan en fait c pluto le contraire... la SS paye toujours fixe: 66% dans

nimporte quel cas: Si lemploye gagne moins de 4800 alors ce sera 66% du
salaire et lentreprise payera 34% du salaire. Si lemploye gagne plus de 4800
alors la SS paye 66% de 4800 et l entreprise , elle , doit paye le complement
pour arriver a 100% du salaire complet..

Yep jespere que ca taiderai!
merci!!


Avatar
Eric
Bonjour,

Tu dois avoir au moins 2 tables, une Table Salarié avec son Id,
LeNom,... et la date d'entrée dans l'entreprise.
Une autre relative aux arrêts qui contient les champs, entre autres,
DateDebut, DateFin, Motif (ou code motif) et en clé étrangère l'Id du
salarié.

Pour l'ancienneté, la formule que je t'ai donnée est bonne :
Anciennete:
DiffDate("aaaa";[DateEntree];Date())+(Format(Date();"mmjj")>Format([DateEntree];"mmjj"))
Lors de l'exécution de la requête le champ DateEntree sera renseigné par
les valeurs correspondant à chaque salarié et non comme tu le mets
DiffDate("aaaa";[01/01/2001];Date())...

Cette ancienneté est calculée dans une requête. Dans cette même requête
tu peux faire calculer les jours d'arrêt maladie/accident en ajoutant la
table Arret avec jointure sur l'Id du salarié.
Le nb de jours d'arrêt est calculé comme suit:
JoursArret:DiffDat("j";[DateDebut];[DateFin])+1 pour tenir compte du
jour de l'arrêt. Par exemple Datedebut/07/2006 et DateFin/07/2006
doit donner 4.
De plus, toujours dans cette même requête, avec les fonctions du modules
tu peux calculer la part SS et la Part Entreprise.

Pour te donner une idée de ce que tu peux faire, tu trouveras un exemple
simple. Je n'ai pas cherché à optimiser le code pour qu'il reste facile
à appréhender.
ici : http://cjoint.com/?hApfofI2GR

Le code se trouve dans le module modIndemnite. Il est un peu commenté.
La 1ere requête te donne les montants SS et Entreprise pour tous les
arrêts, la 2eme le montant global des indemnités SS et Entreprise par
salarié pour le mois courant.
Rmq:Martin a eu 1 arrêt en juillet et un autre en août (j'anticipe ;-) )
Dupont 2 arrêts en juillet.

Si ça peut faire avancer ton projet ...
Bonne continuation.

--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Avatar
Thibault
Re-
Ok, alors je suis entrer le code.. mais jai pas mal de petites questions,
histoire de bien comprendre comment tu as fait.. En particulier sur la
declaration de tes variables mais aussi sur ... comment dire... l ordre d
attaque des operations. C est a dire...
1. faire les deux tables
2. Code ou requete?
En fait , comme c la premiere fois que j utilise du code pour une requete je
sais pas trop si je doit commencer la requete via Access (normal) ou si je
doit directement taper le code.

Pour ce qui est des variables, comme jai pas les meme nom et les meme format
je me perd un peu... par exemple , c quoi la variable id?

Je pense que lideal serai de te conecter , genre juste 5min pour m eclairer
rapidement la dessu.
MErci encore!


Bonjour,

Tu dois avoir au moins 2 tables, une Table Salarié avec son Id,
LeNom,... et la date d'entrée dans l'entreprise.
Une autre relative aux arrêts qui contient les champs, entre autres,
DateDebut, DateFin, Motif (ou code motif) et en clé étrangère l'Id du
salarié.

Pour l'ancienneté, la formule que je t'ai donnée est bonne :
Anciennete:
DiffDate("aaaa";[DateEntree];Date())+(Format(Date();"mmjj")>Format([DateEntree];"mmjj"))
Lors de l'exécution de la requête le champ DateEntree sera renseigné par
les valeurs correspondant à chaque salarié et non comme tu le mets
DiffDate("aaaa";[01/01/2001];Date())...

Cette ancienneté est calculée dans une requête. Dans cette même requête
tu peux faire calculer les jours d'arrêt maladie/accident en ajoutant la
table Arret avec jointure sur l'Id du salarié.
Le nb de jours d'arrêt est calculé comme suit:
JoursArret:DiffDat("j";[DateDebut];[DateFin])+1 pour tenir compte du
jour de l'arrêt. Par exemple Datedebut/07/2006 et DateFin/07/2006
doit donner 4.
De plus, toujours dans cette même requête, avec les fonctions du modules
tu peux calculer la part SS et la Part Entreprise.

Pour te donner une idée de ce que tu peux faire, tu trouveras un exemple
simple. Je n'ai pas cherché à optimiser le code pour qu'il reste facile
à appréhender.
ici : http://cjoint.com/?hApfofI2GR

Le code se trouve dans le module modIndemnite. Il est un peu commenté.
La 1ere requête te donne les montants SS et Entreprise pour tous les
arrêts, la 2eme le montant global des indemnités SS et Entreprise par
salarié pour le mois courant.
Rmq:Martin a eu 1 arrêt en juillet et un autre en août (j'anticipe ;-) )
Dupont 2 arrêts en juillet.

Si ça peut faire avancer ton projet ...
Bonne continuation.

--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr



Avatar
Eric
...

Informations et compléments donnés via Hotmail.
*** Fil cloturé ***

Re-
...

Je pense que lideal serai de te conecter , genre juste 5min pour m eclairer
rapidement la dessu.
MErci encore!




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr