Bonjour les développeurs,
En gros : ça fait plusieurs heures que je me casse les dents pour trouver une formule qui me ramène la valeur juste endessous d'une valeur donnée dans liste qui contient des doublons.
Maintenant je vais détailler le problème pour que vous soyez mieux en mesure de comprendre le problème :
Je bosse sur une table de données qui contient notamment un champ "Date". Plusieurs enregistrements de cette table peuvent avoir la même date (dans les faits je dois avoir environ 150 enregistrements par date). Pour permettre la comparaison entre une date (le jour J) et la date précédente (J-1) je cherche à récupérer la date du J-1 par formule (qui n'est pas forcément la date du jour précédent => si le jour J est un lundi, le J-1 sera le vendredi précédent).
Voici quelques éléments d'environnement (pour ajouter un peu de complexité) :
- La liste de données n'est pas triée (la formule doit fonctionner sans tri car l'utilisateur peut accéder aux données et modifier les tris, donc foutre en l'air une formule basée sur un tri)
- Je ne peux pas ajouter de champs supplémentaire dans la table (sinon je foire mon export d'access)
- Le jour J n'est pas forcément la date la plus récente de la liste (l'utilisateur sélectionne la date qu'il souhaite interroger depuis un userform)
J'ai testé plein de choses pour trouver ce %#$!de J-1 mais je commence à désespérer. Voici un échantillon de ce que j'ai testé :
- INDEX + EQUIV
- RECHERCHEV (avec tous les types de recherches possibles)
- Plusieurs combinaisons avec GRANDE.VALEUR
Je ne suis pas contre développer une fonction en VBA (et j'en suis même capable) mais je reste persuadé que ce n'est pas nécessaire. Au cas où je me trompe je suis quand même preneur de conseils pour d'éventuels développements VBA.
J'espère que le problème est clairement exposé, je reste disponible pour compléter ou détailler au besoin.
Je vous remercie de m'aider et de prendre un peu de votre temps pour réfléchir sur le sujet.
Partager