Rattacher une donnée selon una date valide dans une période

Bonjour,

2 onglets dans un fichier
Sur chaque onglet une liste de personnes avec des périodes
Les personnes ne sont pas nécessairement présentes sur le 2ème onglet
Pour une personne présente sur le 1er onglet, vérifier elle est présente sur le 2ème onglet et rattacher le motif d’absence sur le 1er onglet si ce dernier est compris dans l’ intervalle de dates du 1er onglet.

Ci-joint le fichier

Merci pour votre aide

Daniel
Fichier test - 1.xlsx (13,4 Ko)

Bonjour,

Cela aurait fait une formule plus courte si les dates du Tableau 2 étaient au bon format
Ne pas mettre de doublons dans le tableau 2

=SIERREUR(INDIRECT("'Tableau 2'!E"&SOMMEPROD(('Tableau 2'!$B$6:$B$31=B6)*(TEXTE(C6;"jj/mm/aaaa")>=('Tableau 2'!$F$6:$F$31))*(TEXTE(C6;"jj/mm/aaaa")<=('Tableau 2'!$G$6:$G$31));LIGNE('Tableau 2'!$E$6:$E$31)));"")

Fichier test - 1 (2).xlsx (15,0 Ko)

Bonjour

Merci pour ta réponse;
Sur les doublons, effectivement il n’est pas possible qu’il y en ait dans le tableau 2 (erreur de préparation du sujet); Par contre pour les formats de date c’est bien la réalité.

Le test porte, sauf erreur, que sur le nom (quid des homonymes). Est-il possible d’ajouter un test avec le contrôle du matricule?

Merci encore

Daniel

Bonjour,

Avec cette formule (Nom et Matricule)
=SIERREUR(INDIRECT("'Tableau 2'!E"&SOMMEPROD((CNUM('Tableau 2'!$A$6:$A$31)=CNUM(A6))*('Tableau 2'!$B$6:$B$31=B6)*(TEXTE(C6;"jj/mm/aaaa")>=('Tableau 2'!$F$6:$F$31))*(TEXTE(C6;"jj/mm/aaaa")<=('Tableau 2'!$G$6:$G$31));LIGNE('Tableau 2'!$E$6:$E$31)));"")

Merci pour ce complément.

J’ai corrigé le pb de doublon dans le tableau 2 et recopié la nouvelle formule.

Je ne comprends pas pourquoi, pour M Faure, le résultat de la formule est 0 alors que le motif d’absence devrait s’afficher.

Aurais tu une explication?

Merci

DanielFichier test - 2.xlsx (14,4 Ko)

Re

[quote=“dc56, post:5, topic:2808”]
J’ai corrigé le pb de doublon dans le tableau 2 et recopié la nouvelle formule.
[/quote] :eye::eye:

Regarde dans Tableau 2 les lignes 13 et 30 :smirk:

Et pourtant je porte des lunettes!!

Merci c’est tout bon!!

A une prochaine fois

Re,
Si le problème est résolu, n’oublie pas de passer le post en résolu :wink:

Re,

Presque résolu;

Il y a un cas qui n’est pas pris en compte : si la date de début dans tableau 1 < à la date de début du tableau 2 quelque soit la date de fin du tableau 1 avec au mois une date de la période du tableau 1 comprise dans le la période du tableau 2.

Exemple
Sur le tableau 1 pour M TRICHET si modification de la date de début = 12/05 et date de fin > 13/05 ==> affichage du motif d’absence (car une date de la période du tableau 1 est comprise dans la période couverte sur le tableau 2)

En espérant que cela soit compréhensible.

Daniel

Mais Oui,
Mais de mon côté, au-dessus de 2 lignes de formules, je stoppe pour du VBA

Il faudrait déjà voir d’où viennent les données non formatées pour les N° Matricule, et date :wink:
(pour le Nom, il n’y a pas à remettre sa recherche dans la formule, car un matricule est unique )

tu as raison, le matricule est unique et reste la clé pour les 2 tableaux.

Pour le format, la syntaxe " =DROITE(“00000000”&A6;8) " permettrait dans la formule de recherche de la donnée de simplifier la formule ? (je parle du matricule)

Pour le VBA, c’est un bonne idée mais les macros sont proscrites dans l’entreprise;

Merci

Re,
Teste avec cette formule, sinon je passe la main

=SIERREUR(INDIRECT("'Tableau 2'!E"&SOMMEPROD((CNUM('Tableau 2'!$A$6:$A$30)=CNUM(A6))*(TEXTE(D6;"jj/mm/aaaa")<=('Tableau 2'!$G$6:$G$30))*(TEXTE(D6;"jj/mm/aaaa")>=('Tableau 2'!$F$6:$F$30));LIGNE('Tableau 2'!$E$6:$E$30)));"")