Déterminer une durée à partir d'un mois, d'une année et de la date du jour

Moe

XLDnaute Nouveau
Bonjour à tous,

Nouvel inscrit sur ce forum mais il m'a déjà aidé de nombreuses fois dans mes formules excel!
Aujourd'hui cependant je rencontre un problème qui je pense n'a pas encore été abordé.

Il me faut dans mon fichier, une liste déroulante où l'on choisit le mois et une l'année (ça c'est ok: D14 et D16 et puis les voisins, F14 et F16, ...)

Je dois à partir de ces deux listes déroulantes avoir la durée depuis la date actuelle jusque la date définie par ces deux champs. Mes textes exprimant les durées doivent impérativement être ceux de AJ.
Les données saisies dans les listes arrivent en: AL33 (mois) et AM32 (année). De là, je vais recherche l'année avec une recherchev en AM33.

Viens maintenant le plus compliqué. A partir de cette date, je fais une formule qui va me rechercher dans ma table (qui s'adapte à la date du jour) la durée correspondante au mois et à l'année saisie.

Ma formule fonctionne plutot bien mais je ne sais pas pourquoi, à partir d'un mois de mai en AL33 (4) elle me compte une année de moins qu'en mars, ce qui est totalement illogique et je n'arrive pas du tout à savoir d'où vient l'erreur...

Si quelqu'un à une autre formule ou solution... je lui en serais bien reconnaissant!

ps: je n'y connais rien en macro et vba d'où ma formule d'équilibriste...
 

Pièces jointes

  • test date.xlsx
    43.6 KB · Affichages: 65
  • test date.xlsx
    43.6 KB · Affichages: 64
  • test date.xlsx
    43.6 KB · Affichages: 70

Moe

XLDnaute Nouveau
Re : Déterminer une durée à partir d'un mois, d'une année et de la date du jour

Oups sorry :eek:

C'est vrai qu'en y regardant c'est un beau foutoir ce fichier.
J'ai nettoyé un peu l'affaire en espérant que c'est plus clair.

Ce que je veux faire:

Un formulaire dans lequel l'utilisateur choisis le mois et l'année.
A partir de ce choix, je veux que le fichier me renvoie en Q25 (SOL) la durée qu'il y a entre la date entrée par l'utilisateur et le jour où il utilise le fichier (le fichier doit encore être valable si utilisé l'année prochaine par exemple).

Je me sers donc de la date du jour d10 pour calculer la durée en I par rapport à ma table de dates possibles (FGH).
Une fois la durée déterminée j'y associe le texte correspondant en J via recherchev.
A partir de là, j'utilise ma formule =INDEX(J5:J214;MAX(SI((O25=G5:G214)*(P25=H5:H214);LIGNE(J5:J214);0)))
Qui va chercher selon 2 critères (dates et mois en g et h) et renvoie la valeur de j (valeurs de périodes). Les deux critères se trouvent en O25 et P25. Ceux-ci sont simplement l'association des valeurs des listes déroulantes (O25 et P24) qui renvoient des chiffres à des valeurs de mois et années retrouvés par recherchev.

Le tout fonctionne plus ou moins correctement SAUF QUE lorsque j'entre un mois postérieur au mois d'avril, la formule m'associe une durée d'un an de moins que pour avril de la même année! Or ceci n'est pas logique, étant donné qu'on est en septembre, ce changement devrait arriver entre septembre et octobre (par ex, si 09/2012 la durée est d'1 à 2ans mais si 10/2012 la durée est alors de 0 à 1an étant donné qu'on a pas encore complété la première année).

J'espère que je suis plus clair et que quelqu'un pourrait me dire d'où vient ce bug? ou une solution alternative plus simple?

ps: je précise à nouveau que je ne gère rien du tout en macros malheureusement... d'où ce montage de fou...
 

Pièces jointes

  • test date.xlsx
    28.3 KB · Affichages: 51
  • test date.xlsx
    28.3 KB · Affichages: 62
  • test date.xlsx
    28.3 KB · Affichages: 57

Moe

XLDnaute Nouveau
Re : Déterminer une durée à partir d'un mois, d'une année et de la date du jour

Bonjour Denis,

Tu veux dire changer la référence de la première matrice de la formule comme ceci:

=INDEX(J1:J214;MAX(IF((O25=G5:G214)*(P25=H5:H214);ROW(J5:J214);0)))

Cela à l'air de fonctionner, l'erreur provenait donc du fait que je commençais en ligne 5? Mais je ne comprends pas trop pourquoi alors cela fonctionnait les 4 premiers mois et puis plus...

Merci en tout cas!
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 847
dernier inscrit
Djigbenou