Comment borner une année glissante (n-1) pour y récupérer des données ?

Bonjour,

Je n'ai pas réussi à trouver mon bonheur dans les différents post du Forum, et mon premier post n'ayant sans doute pas été assez explicite (pas de réponse), je reviens vers le forum avec un titre je l'espère plus clair !

Même si j'ai un peu progressé, je ne suis pas beaucoup plus calé qu'avant, car je sèche toujours sur, comment dans ma formule indiquer les dates de début et de fin de (n-1) afin de récupérer dans (n-1) le nombre de jours de vacances (V) et de Récup Fériés (RF) et les reporter dans les cellules S36 et S38 de l'onglet "Entrées".

Ou bien le faire par un autre moyen que la formule que j'ai utilisée, mais qui ne fonctionne que dans le cas d'une année civile.

Est-ce que quelqu'un pourrait me sortir de mon ornière ?

Fichier joint

Version Excel 2019 depuis peu

Merci.

Bonjour JoBar,

je ne suis pas certaine d'avoir compris ta demande, c'est à tester,

c 'est une formule matricielle, il faut valider avec les touches "ctrl + shift + enter"

=SOMMEPROD((F3:F14="V")*((H3:H14)+OU((ANNEE(D3:D14)>=2017);(ANNEE(D3:D14)<=2017))))

@+

Bonjour i20100

Tout d'abord merci pour ta réponse, mais la réponse obtenue me comptabilise tous les "V" dans la colonne et pas seulement ceux de l'année (n-1) et le chiffre obtenu ne correspond pas non plus tout à fait au total réel obtenu, je ne comprend d'ailleurs pas pourquoi.

Ce que j'aimerais c'est que le résultat obtenu en S36 et S38 ne tienne compte que des chiffres de l'année glissante (n-1) par rapport à l'année glissante affichée dans la feuille "Tableau" (en cellule D2) ET de l'employé pour lequel on fait la recherche (en cellule V2) et se modifie donc en fonction de ce qui est affiché dans ces deux cellules.

Exemple : si dans la combobox en "D2" de la feuille "Tableau j'ai "2018" alors pour "Adeline" (si affichée en "V2" dans "Tableau") l'année glissante ira du mois de mars 2018 au mois de février 2019, et l'année (n-1) ira de mars 2017 à février 2018.

Et ce sont les "V" de l'année (n-1 : de 03/2017 à 02/2018) que je voudrais retrouver dans ma cellule S36 de la feuille "Entrées".

PS :Je joins à nouveau le fichier car j'ai dû modifier mon calcul de l'année glissante en cours afin d'afficher la bonne année !

J'espère que ces infos sont plus claires par rapport à ce que je recherche.

Et peut-être que la solution n'est pas forcément une formule si on ne peut pas y entrer toutes variables, mais plutôt une macro ?

(pas assez calé en Excel pour le déterminer !)

Et merci encore de prendre du temps pour m'aider à apprendre et à avancer

Bonjour

Tu utilises, mal, les tableaux structurés : tu ne devrais pas y avoir de ligne vide et ils devraient être significativement nommés et non garder le nom automatique de type Tableau1

=SOMME.SI.ENS(Tableau1[Nb de jours];Tableau1[Symbole];"V";Tableau1[Année];(Tableau!$D$2-1);Tableau1[Nom];Tableau!$V$2)

Mets ton profil à jour afin de remplacer 2007 par 2019

Bonjour 78chris,

Merci pour tes remarques.

Effectivement débutant sur Excel, je n'ai pas encore le réflexe de nommer tout de suite mes tableaux ! Ce qui parfois me complique la vie après !

Par contre je ne vois pas de quelle ligne vide tu parles. ??

Concernant ta formule, ça y est presque, car elle fonctionne pour le changement de nom et pour une année civile, mais pas pour ce que je souhaite, c'est à dire démarrer mon année à partir du mois d'entrée dans la boite.

En l'occurrence pour "Adeline" l'année (n-1) démarre en mars et pas en janvier et se termine en février de l'année suivante.

La colonne "Années" dans "Tableau 1" ne peut effectivement servir que dans le cas d'une année civile (janvier à décembre), c'est d'ailleurs à cela qu'elle était prévue au début de mon projet.

Les "V" de janvier (n-1) et février (n-1) ne devraient pas être comptabilisés, par contre ceux de janvier et février de l'année (n) le devraient.

Mes explications sont-elles assez claires ? Vu mes "lacunes" en langage Excel, je me le demande parfois !

Merci encore du temps et des efforts consacrés !

...... je serais aussi un peu plus calé sur Excel ce soir .... merci !

RE

La dernière ligne des Années, les lignes vides à partir de M21...

Ton exemple ne prévoit pas des absences à cheval sur 2 années : tu fais comment dans ce cas là ?

=SOMME.SI.ENS(Tableau1[Nb de jours];Tableau1[Symbole];"V";Tableau1[Nom];Tableau!$V$2;Tableau1[Date début];">="&DATE(Tableau!D2-1;MOIS(RECHERCHEV(Tableau!V2;Tableau5;2;0));JOUR(RECHERCHEV(Tableau!V2;Tableau5;2;0)));Tableau1[Date de Fin];"<"&DATE(Tableau!D2;MOIS(RECHERCHEV(Tableau!V2;Tableau5;2;0));JOUR(RECHERCHEV(Tableau!V2;Tableau5;2;0))))

Bonsoir 78chris ,

Merci pour ton aide, cela fonctionne !

Concernant ta question, si les "V" sont à cheval sur 2 années alors ma collègue qui gère les plannings les rentrera séparément, soit en "V-1" soit en "V", il ne devrait pas y avoir d'autre cas de figure.

Par contre en testant ta formule dans mon exemple sur les "RF" je viens de me rendre compte qu'il y a un problème car elle tient compte de la date d'entrée exacte au jour près alors que le passage d'une année à l'autre se fait de fin de mois à début de mois

Comme je ne comprend pas encore tout ce que tu fais dans ta formule, je ne sais pas comment corriger le problème.

=>Tu fais "rechercheV" dans "Tableau5" avec " Tableau5;2;0 " alors la solution basique serait de mettre en date d'entrée systématiquement le 1er du mois .... et en même temps ce ne serait pas une solution ni très pro, ni très élégante.

avec " MOIS.DECALER, et FIN.MOIS+1 " cela devrait calculer le 1er jour du mois, mais comment l'intégrer ? ou alors rajouter une colonne dans "Tableau5" dans laquelle je fais ce calcul et ensuite dans ta formule changer "Tableau5;2;0" par "Tableau5;3;0" si le résultat de mon calcul se trouve dans la 3e colonne

Une idée plus " Excel " que la mienne ?

encore merci pour ton aide

Bonjour

Mets ton profil à jour afin de remplacer 2007 par 2019

J'ai déjà essayé, mais la fonction n'est apparemment accessible qu'à partir de 10 messages !

.... et un de plus !

Boujour

Remplace

JOUR(RECHERCHEV(Tableau!V2;Tableau5;2;0))

par 1 si c'est le premier du mois d'entrée

Bonjour,

Merci de ta réponse.

J'ai remplacé les deux "JOUR(RECHERCHEV(Tableau!V2;Tableau5;2;0))" de ta formule par "Tableau5;2;1" pour l'exemple de "RF" qui ne collait pas, mais je reste toujours avec un résultat de 2 alors qu'il devrait y en avoir 4.

Et lorsque je rajoute des "RF dans la planification le 4/03/2017 n'est pas comptabilisé alors que le 5/03/2017 l'est (date d'entrée pour Adeline = 5/03).

ça ne semble donc pas fonctionner, ou bien ai-je oublié quelque chose ?

RE

Ce n'est pas ce que j'ai écrit ! Relis mon post !

=SOMME.SI.ENS(Tableau1[Nb de jours];Tableau1[Symbole];"RF";Tableau1[Nom];Tableau!$V$2;Tableau1[Date début];">="&DATE(Tableau!D2-1;MOIS(RECHERCHEV(Tableau!V2;Tableau5;2;0));1);Tableau1[Date de Fin];"<"&DATE(Tableau!D2;MOIS(RECHERCHEV(Tableau!V2;Tableau5;2;0));1))

Boujour

Remplace

JOUR(RECHERCHEV(Tableau!V2;Tableau5;2;0))

par 1 si c'est le premier du mois d'entrée

oups j'ai mal compris ce que tu disais !!

J'ai remplacé toute la partie "JOUR(RECHERCHEV(Tableau!V2;Tableau5;2;0))" par 1 et ça fonctionne pour les exemples déjà rentrés, mais lorsque j'ai fait le test en remplaçant les anciennes dates par d'autres dates de "RF" ça ne marche plus !??

Il y a certainement une incidence pour le dernier mois de l'année (n-1) où il faut tenir compte du dernier jour du mois et non pas du premier, mais pas seulement car des dates comme 30/01/2017 devraient être prises en compte or ce n'est pas le cas.

A priori la formule ne tient pas compte des dates lorsqu'elles sont dans la même année (civile) que celle affichée en "D2" malgré qu'elles soient comprises dans les dates de l'année glissante (n-1)

Voir dans le fichier joint avec les nouveaux exemples

Rechercher des sujets similaires à "comment borner annee glissante recuperer donnees"