Rechercher la date la plus proche d'un autre classeur

Bonjour à tous,

Je me permets de solliciter de votre aider pour la résolution d'un problème. Voici ce que je souhaite faire :

J'ai deux fichiers Base de donnée test.xls et Exercice_test.xls.

Sur Exercice test, je souhaiterais que :

  • Dans la case D2, je puisse avoir la date de départ qui se trouve dans la base de donnée.
  • Dans la case D4, je cherche à mettre la date que je souhaite, donc c'est une saisie libre
  • Dans la case D6, je dois avoir automatiquement la date de maturité la plus proche de la base de donnée (parmi la colonne B) en fonction du choix de date.
  • Enfin, après avoir trouvé la date de maturité la plus proche, je dois pouvoir avoir la valeur de la loi normale associé à cette date de maturité la plus proche.

NB: La date de maturité la plus proche est en valeur absolue bien évidemment.

De plus, je dois pouvoir changer de base de donnée en sélectionnant le bon fichier excel.

Après avoir cherché pendant une journée, j'ai perdu les pédales.

Je vous remercie d'avance pour l'aide précieuse que vous m'apporterez et vous souhaite une excellente journée.

Bien à vous,

Ender

9exercice-test.xlsm (27.29 Ko)

Salut,

Je te propose une solution afin de voir si ça va dans le bon sens. Pour l’instant c’est très basique, mais ça ne demande qu’à être perfectionné.

Si tu ouvres le fichier Exercice_test ci-joint et que tu cliques sur le bouton en place, tu peux choisir ta base de données dans ton arborescence. J’ai bien entendu présumé que toutes tes bases de données sont exactement identiques au modèle fourni.

La base de données choisie est alors ouverte et la première date trouvée dans la colonne C de cette base de données est alors reportée en D2.

Tant que tu ne refermes pas cette base de données, tu peux continuer à travailler sur ton fichier Exercice, en modifiant la date en D4. D6 et D8 sont alors automatiquement modifiées en fonction de ton choix.

Pour l’instant, je me suis borné à trouver la valeur de la loi normale de la première date plus petite que ta date de référence en D4. Ainsi, si tu indiques le 25.05.2023 et que dans la base de données tu as les dates 25.04.2023 et 25.05.2023, c’est la valeur de la date 25.04.2023 qui est renvoyée. Mais comme déjà dit, c’est simplement afin de voir si on part dans la bonne direction.

Une des premières questions que j’aurais s’il faut aller plus loin serait : si tu recherches une date quelconque par exemple le 15.01.2019 et que dans la base de données tu as une valeur pour le 10.01.2019 et une autre valeur pour le 20.01.2019, quelle valeur veux-tu retenir et sur quelle logique ?

Cordialement.

15exercice-test.xlsm (35.01 Ko)

Salut Yves,

Dans un premier temps, je te remercie pour ta rapidité et je suis désolé d'avoir pris un peu de temps pour tester le classeur.

Alors j'ai testé pour deux dates :

05/10/2034 et 05/12/2034

Avec le 05/10/2034, il me met comme date la plus proche le 25/05/2034.

Par contre, pour le 05/12/2034, il me remet le 25/05/2034 alors que je devrais avoir le 25/04/2034.

Parce qu'au 25/05/2034, on est plus proche du 25/04/2034 (en nombre de jour).

En revanche, si on est dans le cas de ton exemple :

si tu indiques le 25.05.2023 et que dans la base de données tu as les dates 25.04.2023 et 25.05.2023

Par défaut, il faudrait le 25/04/2023.

Mais sinon on est dans la bonne direction

Bien à toi.

Salut,

Tu m’affubles d’un bien drôle de prénom !!

Afin que l’on parle bien de la même chose, utilise la base de données ci-jointe pour faire tes essais. De manière que tout fonctionne au mieux, il vaut mieux que tu enregistres au préalable ces fichiers sur ta machine, que tu les fermes et que tu les réouvres depuis là.

Nouvellement, à l’ouverture, les données en place sont effacées dans les cellules D4, D6, D8 et D10.

Lorsque tu choisis ta base de données, elle s’inscrit en D10. Tu peux la refermer par le nouveau bouton en place.

Selon l’exemple fourni, si tu choisis une date antérieure au 25.02.2019, c’est la valeur au 25.02.2019 qui sera prise.

Si tu choisis par exemple le 06.01.2020, c’est la valeur au 01.01.2020 qui est prise, car il y a 5 jours entre le 01.01.2020 et le 06.01.2020, de même qu’il y a également 5 jours entre le 6 et le 11. Dans un tel cas, faudrait-il prendre la valeur supérieure ?

Si tu as deux dates identiques dans la base de données, tel que le 25.04.2020, c’est la première valeur qui est prise. Faudrait-il en choisir une autre ?

Pour l’instant ma macro ne réagit pas si tu inscrits une date postérieure à la dernière date de maturité connu. Faut-il prévoir quelque chose dans ce cas-là ?

Chaleureusement.

Salut Yvouille,

Je te prie de bien vouloir m'excuser de t'avoir affublé d'un prénom qui semblait proche de ton pseudo

Je viens de faire le teste avec la date prise en exemple : pour le 06/01/2020 c'est la valeur 01/01/2020 qui est prise en compte.

C'est bien ce que je souhaitais c'est à dire que si la date choisi est pile au milieu de deux dates, c'est la date antérieur qui est prise en compte.

En tout cas, je te remercie infiniment.

Bien à toi,

Rechercher des sujets similaires à "rechercher date proche classeur"