Bonjour,
Dès l'instant où l'on essaie de gérer des dates avec excel, on se confronte à quelques soucis.
J'ai un fichier avec les onglets : matrice, BDD salarié, variables et Secteur.
Dans BDD salarié, on retrouver la date d'entrée du salarié et sa date de naissance. À partir de ces dates sont calculés sur le même onglet chaque année de 2012 à 2018 l'age du salarié et son ancienneté au 01/06 de chaque année.
Dans variables, on retrouve la date du 1er jour de l'exercice social en B3 (soit 01/06/2016 pour cette année), les dates de début et fin d'exercice pour chaque année (B8 exo CP 2012/2013; D8 01/06/2012; E8 31/05/2013; B9 exo CP 2013/2014; D9 01/06/2013; E931/05/2014; etc.), ainsi que le dernier jour du mois de paie traité en B1 (ex. pour novembre le 30/11/2016)
Dans matrice (qui est ensuite copié dans secteur au fur et à mesure des entrées), on retrouve en cellule fusionnée B2-C2 en format date, un renvoi à l’onglet Variables où est saisi la date du mois de paie traité (=variables!B1).
On saisit en A10 le nom du salarié qui fait une recherche en BDD pour trouver les éléments complétant le tableau. En A11 est donc retrouvé la date d'entrée (=SIERREUR(RECHERCHEV(A10;'BDD Salariés'!$1:$1048576;5;FAUX);"")
Dans les cellules fusionnées en L3-M3, la date de début de période 2015/2016 s'affiche grace à la formule : =(SIERREUR(RECHERCHEV(L2;Variables!B8:E24;3);"")) et la date de fin de période en L4-M4 : =(SIERREUR(RECHERCHEV(L2;Variables!B8:E24;4);""))
Idem pour 2016/2017 grâce aux colonnes N et O
Dans les cellules L6-M6 et N6-O6, s'affichent le nombre de mois écoulés pour la période avec la formule : =SI(C2>L4;12;(SIERREUR(ARRONDI.SUP(MOIS($C$2-L3);1);"")))
Enfin, en cellule B15 correspondant au total CP accumulé du salarié pour 2015-2016 : =SI($L$5="";"";SI(($L$5*2,08)>24,5;25;ARRONDI.INF($L$5*2,08;0)))
La problématique :
Si un salarié est entré après le 31/05/2016, il n'a droit à aucun jour pour la période 2015-2016. je voulais donc rajouter devant ma formule : si date d'entrée en A13>date de fin de période en L4 alors 0 sinon ....
=SI(A13>L4;0;SI($L$5="";"";SI(($L$5*2,08)>24,5;25;ARRONDI.INF($L$5*2,08;0))))
Hors quelque soit la date, que celle-ci soit inférieure ou supérieure, j'ai toujours la mauvaise réponse qui s'affiche dans mon fichier de base. Alors que si je recrée une partie du fichier, j'ai la bonne réponse. Hors je ne peux pas recommencer à zéro car trop de données.
Vraiment désolée pour ce pavé, j'aurais voulu joindre mon fichier pour une explication plus légère mais je n'ai pas compris comment je pouvais procéder... En espérant que vous pourrez m'aider!!!
À bientôt
Dès l'instant où l'on essaie de gérer des dates avec excel, on se confronte à quelques soucis.
J'ai un fichier avec les onglets : matrice, BDD salarié, variables et Secteur.
Dans BDD salarié, on retrouver la date d'entrée du salarié et sa date de naissance. À partir de ces dates sont calculés sur le même onglet chaque année de 2012 à 2018 l'age du salarié et son ancienneté au 01/06 de chaque année.
Dans variables, on retrouve la date du 1er jour de l'exercice social en B3 (soit 01/06/2016 pour cette année), les dates de début et fin d'exercice pour chaque année (B8 exo CP 2012/2013; D8 01/06/2012; E8 31/05/2013; B9 exo CP 2013/2014; D9 01/06/2013; E931/05/2014; etc.), ainsi que le dernier jour du mois de paie traité en B1 (ex. pour novembre le 30/11/2016)
Dans matrice (qui est ensuite copié dans secteur au fur et à mesure des entrées), on retrouve en cellule fusionnée B2-C2 en format date, un renvoi à l’onglet Variables où est saisi la date du mois de paie traité (=variables!B1).
On saisit en A10 le nom du salarié qui fait une recherche en BDD pour trouver les éléments complétant le tableau. En A11 est donc retrouvé la date d'entrée (=SIERREUR(RECHERCHEV(A10;'BDD Salariés'!$1:$1048576;5;FAUX);"")
Dans les cellules fusionnées en L3-M3, la date de début de période 2015/2016 s'affiche grace à la formule : =(SIERREUR(RECHERCHEV(L2;Variables!B8:E24;3);"")) et la date de fin de période en L4-M4 : =(SIERREUR(RECHERCHEV(L2;Variables!B8:E24;4);""))
Idem pour 2016/2017 grâce aux colonnes N et O
Dans les cellules L6-M6 et N6-O6, s'affichent le nombre de mois écoulés pour la période avec la formule : =SI(C2>L4;12;(SIERREUR(ARRONDI.SUP(MOIS($C$2-L3);1);"")))
Enfin, en cellule B15 correspondant au total CP accumulé du salarié pour 2015-2016 : =SI($L$5="";"";SI(($L$5*2,08)>24,5;25;ARRONDI.INF($L$5*2,08;0)))
La problématique :
Si un salarié est entré après le 31/05/2016, il n'a droit à aucun jour pour la période 2015-2016. je voulais donc rajouter devant ma formule : si date d'entrée en A13>date de fin de période en L4 alors 0 sinon ....
=SI(A13>L4;0;SI($L$5="";"";SI(($L$5*2,08)>24,5;25;ARRONDI.INF($L$5*2,08;0))))
Hors quelque soit la date, que celle-ci soit inférieure ou supérieure, j'ai toujours la mauvaise réponse qui s'affiche dans mon fichier de base. Alors que si je recrée une partie du fichier, j'ai la bonne réponse. Hors je ne peux pas recommencer à zéro car trop de données.
Vraiment désolée pour ce pavé, j'aurais voulu joindre mon fichier pour une explication plus légère mais je n'ai pas compris comment je pouvais procéder... En espérant que vous pourrez m'aider!!!
À bientôt