XL 2016 Chercher une valeur par rapport à la date d'aujourd'hui

Menstru LH

XLDnaute Junior
Bonjour la communauté

J'ai un tableau qui comporte 2 lignes et 4 colonnes comme ci-dessous

DateSeptembre 2020Octobre 2020Novembre 2020
Valeurabc

Je souhaite pouvoir récupérer la "valeur" en fonction de la date d'aujourd'hui.

Par exemple : aujourd'hui on est en Octobre 2020 ==> Je récupère dans une cellule la valeur b. Le mois prochain, dans cette cellule, je récupère la valeur c

J'ai testé avec un index(equiv) mais y'a un aspect que je ne dois pas bien maîtriser sur la recherche en ligne...

Une idée ?

Un grand merci
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonjour @Menstru LH,

Si le tableau débute en A1, utilisez la formule :
VB:
=INDEX(B2:D2;EQUIV(AUJOURDHUI();B1:D1))
ou (plus sûre)
VB:
=SI(OU(AUJOURDHUI()>FIN.MOIS(D1;0);AUJOURDHUI()<B1);"";INDEX(B2:D2;EQUIV(AUJOURDHUI();B1:D1)))
 

Pièces jointes

  • Menstru LH- recherche date- v1a.xlsx
    10.2 KB · Affichages: 42
Dernière édition:

thunder23

XLDnaute Occasionnel
Bonjour le forum,

Pour ma part c'est l'inverse que je recherche, c'est la date en fonction de la valeur. J'ai essayé d'adapté à mon fichier la formule donnée par @mapomme mais sans succès.

J'ai mis un fichier test en cas où ;)
 

Pièces jointes

  • test date-jcn.xlsx
    23.8 KB · Affichages: 17

ALS35

XLDnaute Occasionnel
Bonjour le forum,

Pour ma part c'est l'inverse que je recherche, c'est la date en fonction de la valeur. J'ai essayé d'adapté à mon fichier la formule donnée par @mapomme mais sans succès.

J'ai mis un fichier test en cas où ;)
Bonjour,

Dans les formules INDEX et EQUIV, il ne faut pas prendre l'ensemble du tableau, mais seulement les colonnes concernées, avec un SIERREUR quand il n'y a pas de valeur et formater en date.
VB:
=SIERREUR(INDEX($A$2:$A$50;EQUIV(O3;$D$2:$D$50;0));"")

Cordialement
 

thunder23

XLDnaute Occasionnel
Bonjour @Menstru LH, Bonjour @ALS35, Bonjour le forum,

Effectivement c'est la solution mais je ne pensais pas que je ne pouvais prendre que les colonnes concernés en tout ça fonctionne que pour la première ligne mais les trois autres aucune valeur car j'ai voulu testé en mettant une autre date dans G1(exemple dans mon fichier), ça ne met pas la date si le chiffre est à 38, 57 ou 76, il n'y a que pour 19.
Est-ce normal ?

Cordialement
 

ALS35

XLDnaute Occasionnel
Bonjour @Menstru LH, Bonjour @ALS35, Bonjour le forum,

Effectivement c'est la solution mais je ne pensais pas que je ne pouvais prendre que les colonnes concernés en tout ça fonctionne que pour la première ligne mais les trois autres aucune valeur car j'ai voulu testé en mettant une autre date dans G1(exemple dans mon fichier), ça ne met pas la date si le chiffre est à 38, 57 ou 76, il n'y a que pour 19.
Est-ce normal ?

Cordialement
Re,

Il faut au moins que mettes toute la plage de ton tableau et pas simplement jusqu'à 50 et que tu joues sur la date en G1
VB:
=SIERREUR(INDEX($A$2:$A$366;EQUIV(O3;$D$2:$D$366;0));"")
Cordialement
 

alexandre.lahaye06

XLDnaute Nouveau
Bonjour j'ai un problème similaire mais un petit peu plus complexe, pour chaque mois, j'ai 3 données différentes ( les mois sont des cellules fusionnées de 3 colonnes), j'aimerais pouvoir extraire la valeur de la première colonne du mois correspondant à la date du jour.
Les fonctions index_equiv ne me donnent pas de résultats, auriez vous une solution à proposer ?
Merci d'avance
 

Discussions similaires

Réponses
6
Affichages
88

Statistiques des forums

Discussions
311 725
Messages
2 081 948
Membres
101 849
dernier inscrit
florentMIG