XL 2021 Calcul de l'année en fonction du mois d’entrée et non pas à partir de janvier

  • Initiateur de la discussion Initiateur de la discussion JoBar57
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

JoBar57

XLDnaute Junior
Bonjour,

Dans la colonne « Années » du tableau1 qui se trouve dans l’onglet « Entrées », j’aimerais obtenir un résultat en fonction du nom inscrit dans la colonne « Personnel » de Tableau1 et de la date d’entrée qui se trouve dans Tableau5, colonne « Date d’entrée » (2e colonne du tableau)

Exemple si la personne est entrée en 05/2015 et que les dates de début et fin dans le Tableau1 vont du 15/03/2020 au 31/03/2020, le résultat devra être 2019 et non pas 2020 car l’année 2020 pour cette personne ne débutera qu’à compter du 1/05/2020.

Et donc si les dates vont par exemple du 15/05/2020 au 25/05/2020 alors le résultat dans la colonne « Années » sera bien 2020.

Le résultat actuel marche seulement si on parle d'année civile (du 1er janvier au 31 décembre).

D’avance merci de prendre le temps.
 

Pièces jointes

Solution
Bonjour,

Si vous voulez utiliser "28/2" au lieu de "29/2" en colonne O entrez en I3 :
Code:
=ANNEE([@[Date de Fin]])-([@[Date de Fin]]<DATE(ANNEE([@[Date de Fin]]);MOIS(RECHERCHEV([@Personnel];Tableau5;2;0));JOUR(SUBSTITUE(TEXTE(RECHERCHEV([@Personnel];Tableau5;2;0);"j/m/aaaa");"29/2";"28/2"))))
Mais je n'en vois pas vraiment l'intérêt.

A+
Bonjour
Tu as renommé tes onglets pourquoi ne pas le faire pour les tableaux ? C'est illisible de garder les noms automatiques...
VB:
=ANNEE(RECHERCHEV([@Personnel];Tableau5[[Personnel]:[Date entrée ]];2;0))

Mais pourquoi ne prendre directement l'année d'entrée ?
Code:
=RECHERCHEV([@Personnel];Tableau5[[Personnel]:[Année d''entrée]];3;0)
 
Bonsoir,

Quel est le rapport avec 5/2015 sinon un délai probable de 5 ans dont tu ne parles pas
Aucun rapport c'était juste un exemple, le délai n'entre pas en ligne de compte.

Alors je reprend mon exemple de façon plus concrète avec "A"

A => entré le 5/3/2007 => période (sur la ligne B3) = 1/2/2018 au 17/2/2018 => Résultat dans la colonne "Années" = 2018, mais devrait être 2017 car l'année 2018 démarrera seulement en mars 2018


Mais pourquoi ne prendre directement l'année d'entrée ?
Je dois tenir compte du mois d'entré, puisque c'est ce qui va conditionner le début de l'année pour la personne concernée.

Tu as renommé tes onglets pourquoi ne pas le faire pour les tableaux ? C'est illisible de garder les noms automatiques...
Ce classeur s'est étoffé en plusieurs étapes (sur plusieurs années) avec des infos collectées un peu partout. Mon niveau en VBA n'est pas suffisant pour avoir une vue synthétique sur l'ensemble et je n'ai donc pas remanié le tout.
Mais je note la suggestion pour la prochaine fois.

Cordialement,
 
Dernière édition:
Bonjour bsalv,

Merci beaucoup,

Comment se fait-il qu'il y ai un message d'erreur sur certaines lignes (1159 à 1175 et 1204 à 1287), alors qu'en principe rien ne les différencie des lignes précédentes ou suivantes ?
Et aussi pourrais-tu m'expliquer à quoi sert la feuille "Blad1" ?

Cordialement,
 
pour la cellule A1159, on pouvait modifier la formule en
Enrichi (BBcode):
=ANNEE(RECHERCHEV(Tableau1[@Personnel];Tableau5[[#Tout];[Personnel]:[Date entrée ]];2;0))
+SIERREUR(DATEDIF(RECHERCHEV(Tableau1[@Personnel];Tableau5[[#Tout];[Personnel]:[Date entrée ]];2;0);D1159;"y");
-1-DATEDIF(D1159;RECHERCHEV(Tableau1[@Personnel];Tableau5[[#Tout];[Personnel]:[Date entrée ]];2;0);"y"))
 
Bonjour bsalv,

Merci pour votre réponse,
Effectivement les erreurs viennent de l'incohérence avec la date d'entrée postérieure à l'évènement (dû à l'anonymisation rapide du classeur)
par contre je souhaitais inclure ce calcul dans le tableau1 aussi j'ai fait un copier/coller de la colonne A en colonne I et là ça ne fonctionne plus !?
Je ne comprend pas la raison, puisque la formule recopiée me semble correcte.

Voir le fichier joint
 

Pièces jointes

Bonjour job75,

Merci pour votre contribution, mais j'ai le même problème qu'avec la recopie de la colonne A de bsalv, ça me retourne une erreur lorsque je recopie votre formule dans la colonne Années

Voir fichier joint

Notez que si Date entrée est un 29 février c'est le 1er mars qui sera considéré lors des années non bissextiles.
Est-il possible de conserver plutôt le mois de février ?
 

Pièces jointes

bonjour, avec la formule courte de job75.
Le problème de 29 février n'est que pour les dates d'entrées
Enrichi (BBcode):
=ANNEE([@[Date de Fin]])-([@[Date de Fin]]<DATE(ANNEE([@[Date de Fin]]);MOIS(RECHERCHEV([@Personnel];Tableau5;2;0));JOUR(RECHERCHEV([@Personnel];Tableau5;2;0))))
deviendra
Enrichi (BBcode):
=ANNEE([@[Date de Fin]])-([@[Date de Fin]]<MIN(
DATE(ANNEE([@[Date de Fin]]);MOIS(RECHERCHEV([@Personnel];Tableau5;2;0))+1;0);
DATE(ANNEE([@[Date de Fin]]);MOIS(RECHERCHEV([@Personnel];Tableau5;2;0));JOUR(RECHERCHEV([@Personnel];Tableau5;2;0)))))
je ne sais pas si cela vaut la peine ?
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour