Microsoft 365 Recherche d'une date dans un tableau composé de plages de dates

  • Initiateur de la discussion Initiateur de la discussion JpGraph
  • 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 !

JpGraph

XLDnaute Nouveau
Bonsoir,
Je recherche la ou les formule qui permettraient d'afficher des données en fonction d'une date dans un tableau composé de plages de dates.
le fichier joint sera peut être plus compréhensible que mon énoncé.

Merci a tous pour votre aide précieuse pour les débutants.
 

Pièces jointes

Solution
Bonjour à tous @ 🙂,

Pour éviter le cas de propagation et ne retenir que la première ligne, on peut adapter les formules de @Gégé-45550 (que je salue 😉) :
en G6 : =INDEX(FILTRE(C3:C11;(A3:A11<=F4)*(B3:B11>=F4));1)
en G7 : =INDEX(FILTRE(D3:D11;(A3:A11<=F4)*(B3:B11>=F4));1)

Ou la formule suivante en G6 qui place directement les deux informations de la 1ière ligne résultat dans deux cellules contiguës (G6 et H6) :
=INDEX(FILTRE(C3:D11;(A3:A11<=F4)*(B3:B11>=F4));1;0)
Bonsoir,
en G6 :
VB:
=FILTRE($C$3:$C$11;($A$3:$A$11<=$F$4)*($B$3:$B$11>=$F$4);"")
et en J6 :
Code:
=FILTRE($D$3:$D$11;($A$3:$A$11<=$F$4)*($B$3:$B$11>=$F$4);"")
ATTENTION : Ces fonctions sont susceptibles de renvoyer une liste de valeurs et, pour cela, les colonnes G et J doivent contenir suffisamment de cellules vides sous G6 et J6 afin de permettre l'affichage de ces valeurs, sinon vous aurez une erreur "PROPAGATION".
Cordialement,
 
Dernière édition:
Bonjour à tous @ 🙂,

Pour éviter le cas de propagation et ne retenir que la première ligne, on peut adapter les formules de @Gégé-45550 (que je salue 😉) :
en G6 : =INDEX(FILTRE(C3:C11;(A3:A11<=F4)*(B3:B11>=F4));1)
en G7 : =INDEX(FILTRE(D3:D11;(A3:A11<=F4)*(B3:B11>=F4));1)

Ou la formule suivante en G6 qui place directement les deux informations de la 1ière ligne résultat dans deux cellules contiguës (G6 et H6) :
=INDEX(FILTRE(C3:D11;(A3:A11<=F4)*(B3:B11>=F4));1;0)
 
Dernière édition:
Bonsoir,
en G6 :
VB:
=FILTRE($C$3:$C$11;($A$3:$A$11<=$F$4)*($B$3:$B$11>=$F$4);"")
et en J6 :
Code:
=FILTRE($D$3:$DC$11;($A$3:$A$11<=$F$4)*($B$3:$B$11>=$F$4);"")
ATTENTION : Ces fonctions sont susceptibles de renvoyer une liste de valeurs et, pour cela, les colonnes G et J doivent contenir suffisamment de cellules vides sous G6 et J6 afin de permettre l'affichage de ces valeurs, sinon vous aurez une erreur "PROPAGATION".
Cordialement,
Bonsoir @Gégé-45550
Un grand merci pour votre aide.
Concernant le renvoi de valeurs, étant donné qu'il n'y a qu'une seule personne présente par plage de e dates, cela ne devrait poser le problème de renvoi de plusieurs valeurs ?
quoi qu'il en soit, votre proposition fonctionne très bien.
je me suis juste permis de modifier une valeur ($DC$11 par $D$11) qui générait une erreur
Bonjour à tous @ 🙂,

Pour éviter le cas de propagation et ne retenir que la première ligne, on peut adapter les formules de @Gégé-45550 (que je salue 😉) :
en G6 : =INDEX(FILTRE(C3:C11;(A3:A11<=F4)*(B3:B11>=F4));1)
en G7 : =INDEX(FILTRE(D3:D11;(A3:A11<=F4)*(B3:B11>=F4));1)

Ou la formule suivante qui place les deux informations de la 1ière ligne résultat dans deux cellules contiguës :
=INDEX(FILTRE(C3:D11;(A3:A11<=F4)*(B3:B11>=F4));1;0)
Bonsoir @mapomme
Merci a vous aussi pour cette proposition.
Les 3 formules fonctionnent parfaitement

Vous & @Gégé-45550 avez été super réactif et efficace C'est vraiment super appréciable.
Il ne me reste plus qu'a décortiquer ces formules pour comprendre leur fonctionnement.

PS: A qui dois je attribuer la résolution du problème puisque les deux propositions font le job ?
 
Bonjour à tous @ 🙂,

Pour éviter le cas de propagation et ne retenir que la première ligne, on peut adapter les formules de @Gégé-45550 (que je salue 😉) :
en G6 : =INDEX(FILTRE(C3:C11;(A3:A11<=F4)*(B3:B11>=F4));1)
en G7 : =INDEX(FILTRE(D3:D11;(A3:A11<=F4)*(B3:B11>=F4));1)

Ou la formule suivante en G6 qui place directement les deux informations de la 1ière ligne résultat dans deux cellules contiguës (G6 et H6) :
=INDEX(FILTRE(C3:D11;(A3:A11<=F4)*(B3:B11>=F4));1;0)
re bonsoir @mapomme .
j'ai voulu élargir la recherche en modifiant la taille du tableau (C3:C11) par (C3:F11) en décalant bien sur, la cellule de recherche mais cela me retourne une erreur "valeur".
cela fonctionne que si j'élargis le tableau d'une seule colonne (C3:C11) a (C3:E11)
On ne peut donc pas aller au delà ?

Merci par avance.
 
Dernière édition:
Re,

Moi je suis en train de tomber dans les bras de Morphée. On verra cela demain. Le plus beaucoup mieux serait de joindre un fichier avec l'erreur et le nouveau tableau.
Bonjour @mapomme.
comme je suis insomniaque 😁, j'ai fini par trouver d'où venait le problème.
un truc trop bête qui m'a prit du temps (il y avait un point dans une cellule qui devait restaurer l'info)
Merci encore pour ta disponibilité.
bonne journée.
 
- 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

Réponses
4
Affichages
81
Réponses
1
Affichages
229
Réponses
3
Affichages
639
Retour