Recherche d'une date dans une liste

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

pdemaret

XLDnaute Nouveau
Bonjour à tous

Je suis en train de sécher sur un problème de recherche de date.
Voilà j'ai une colonne dans laquelle se trouve des dates strictement croissantes.
Je voudrais, dans la cellule de la colonne à côté, afficher la première date (dans la liste) de l'année correspondante à la date de la ligne.
Bref rien de tel qu'un exemple :
1. 01/12/2008 21/11/2008
2. 15/12/2008 21/11/2008
2. 05/01/2009 05/01/2009
3. 12/01/2009 05/01/2009
...
22. 04/05/2009 05/01/2009

Dans le ficghier que je fourni, j'y ai mis 4 tests :

Test 1 : =RECHERCHEV(DATE(ANNEE(A6);1;1);A$3:A$23;1)
--> fourni la dernière date de l'année précédente et donc pour les lignes 1. et 2. j'obtiens #N/A

Test 2 : =INDEX(A$3:A$22;EQUIV(DATE(ANNEE(A6);1;1);A$3:A$22;1))
--> même résultat

Test 3 : =RECHERCHEV(ANNEE(A6);ANNEE(A$3:A$22);1)
--> #N/A
Je me suis dit que je vais rechercher que l'année et donc forcément il trouvera la première date de l'année.
Mais pour cela je dois écrire une formule que excel n'aime pas ANNEE(range de cellule)

Test 4 : =INDEX(A$3:A$22;EQUIV(ANNEE(A6);ANNEE(A$3:A$22);1))
--> #N/A
Même réflexion, même erreur

Qu'en pensez-vous ?

Merci

P
ps: comment çà se fait que le forum n'accepte pas les fichier .xlsx ?
 

Pièces jointes

Re : Recherche d'une date dans une liste

Bonsoir Pdemaret, Cisco, bonsoir le forum,

Je suis mort de rire car je bataille depuis pas mal de temps pour trouver une solution VBA. J'ai quand même trouvé mais c'est tellement "usine à gaz" et la solution de Cisco est tellement simple que je me dis qu'il faudra bien que je me mette aux formules un jour ou l'autre...

Bon j'envoie quand même pour le "sad" (je voulais dire pour le fun mais à ce stade là...) mais bien évidemment tu ne retiendras pas parce dans la série "pourquoi faire simple quand on peut faire compliqué..."
 

Pièces jointes

Re : Recherche d'une date dans une liste

Je te remercie Cisco
Je vais d'abord comprendre la chose et ensuite je reviendrai, car il y a déjà qqch que je ne saisis pas.

Robert, merci à toi.
Je regarderai ta solution ensuite


Ce forum est extraordinaire.
 
Re : Recherche d'une date dans une liste

ps: comment çà se fait que le forum n'accepte pas les fichier .xlsx ?

Si tu offres excel 2007 à tous les internautes passant sur ce forum... 😀😀

Aller, plus sérieusement. Je ne sais si ma formule te donne les résultats attendus. Si tu veux plus d'info, poses des questions, ou fait "formules" --> "évaluation de formule"...

@ plus

@ plus
 
Dernière édition:
Re : Recherche d'une date dans une liste

CISCO, me revoilà.
Et là je me retrouve devant d'autres questions.

1. Tu utilises un principe que je ne connais pas :
{=MIN(SI(ANNEE(A7)=ANNEE(A$3:A$22);A$3:A$22))}

Qu'est-ce que c'est que ces formules entourées de caractères {} ?
De plus ces derniers disparaissent quand on clique sur la formule pour l'éditer, pourquoi ?


2. La même formule sans {} ne donne pas le même résultat
pourquoi ?


3 Plus précisément, SI(ANNEE(An)=ANNEE(A$3:A$22);...), (où n est l'occurence de chaque ligne où se trouve la formule)
doit toujours donner vrai


Bref à toi la parole stp

Merci
 
Re : Recherche d'une date dans une liste

Bonsoir pdemaret, CISCO, sabzzz, Robert

Une autre proposition, sans formule matricielle
Code:
=INDEX(A:A;2+EQUIV(1;FREQUENCE(DATE(ANNEE(A3);1;1);A:A);0);1)
Les données de la colonne A n'ont pas besoin d'être triées.

@+Jean-Marie
 
Dernière édition:
Re : Recherche d'une date dans une liste

Bonsoir pdemaret, CISCO, sabzzz, Robert

Une autre proposition, sans formule matricielle

@+Jean-Marie

Oui, et non : D'après l'aide d'excel "La fonction FREQUENCE est tapée sous forme matricielle après que vous ayez sélectionné la plage de cellules adjacentes dans laquelle vous voulez faire apparaître la distribution renvoyée".... D'une certaine manière, c'est automatiquement fait, un peu comme pour SOMMEPROD.

@ plus
 
Re : Recherche d'une date dans une liste

Re...

J'aurais dû mettre sans validation par les 3 touches.

Il y a quand même de grosses différences entre SOMMEPROD et FREQUENCE

FREQUENCE, ne retourne pas qu'une seule valeur, elle accepte des plages entières.

@+Jean-Marie
 
Re : Recherche d'une date dans une liste

CISCO, me revoilà.

{=MIN(SI(ANNEE(A7)=ANNEE(A$3:A$22);A$3:A$22))}

Qu'est-ce que c'est que ces formules entourées de caractères {} ?

Merci

La formule de base est la suivante :
=SI(ANNEE(A7)=ANNEE(A3);A3)

autrement dit, si l'année de A7 est égale à l'année de A3, conserver A3, sinon faux.

Mais on veut faire ce test sur toutes les valeurs de la colonne A, donc on recommence :
=SI(ANNEE(A7)=ANNEE(A4);A4)
puis
=SI(ANNEE(A7)=ANNEE(A5);A5)
puis
=SI(ANNEE(A7)=ANNEE(A6);A6)

jusqu'à la dernière valeur de la colonne A. Et on obtient une liste de valeurs. Mais on veut ne conserver que le min de toutes ces valeurs...

Tout cela est fait en une seule formule en écrivant

=MIN(SI(ANNEE(A7)=ANNEE(A$3:A$22);A$3:A$22))

mais excel ne fait dans ce cas que le calcul par rapport à A3. Cette formule est donc équivalente à
=MIN(SI(ANNEE(A7)=ANNEE(A3);A3))

Pour qu'excel fasse le calcul avec toutes les valeurs de la colonne A (et pas uniquement avec A3), il faut écrire cette avant dernière formule sous la forme
{=MIN(SI(ANNEE(A7)=ANNEE(A$3:A$22);A$3:A$22))}

obtenu grace à ctrl+maj+ entrée.

Autrement dit, le fait de mettre {} permet de faire un calcul matriciel. Ici la matrice est composée de toutes les valeurs de la plage A3:A22.

@ plus
 

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

Réponses
5
Affichages
412
Réponses
13
Affichages
233
  • Question Question
XL 2016 Date
Réponses
6
Affichages
641
Réponses
5
Affichages
235
Retour