Étirer une formule jusqu'à une valeur calculé

Skeo

XLDnaute Nouveau
Bonjour à tous,

Tout est dis dans le titre ou presque.

J'ai une valeur calculé dans la colonne A (une date). Je voudrais que cette formule se déroule jusqu'à une valeur calculée contenue dans la cellule J6 en fonction de la selection de la cellule F4... Voyez en pièce jointe. Comment puis-je réussir, si possible sans passer par une macro?

Merci d'avance à vous!
 

Pièces jointes

  • remboursement pret test .xlsx
    49.9 KB · Affichages: 37
  • remboursement pret test .xlsx
    49.9 KB · Affichages: 42
  • remboursement pret test .xlsx
    49.9 KB · Affichages: 42

ROGER2327

XLDnaute Barbatruc
Re : Étirer une formule jusqu'à une valeur calculé

Bonjour Skeo.


Un essai en pièce jointe.​


Bonne soirée.


ℝOGER2327
#7593


Lundi 2 Haha 142 (Dissolution d’Edgar Poe, dinomythurge - fête Suprême Quarte)
16 Vendémiaire An CCXXIII, 7,0073h - belle-de-nuit
2014-W41-2T16:49:03Z
 

Pièces jointes

  • remboursement pret test .xlsx
    58 KB · Affichages: 42
  • remboursement pret test .xlsx
    58 KB · Affichages: 44
  • remboursement pret test .xlsx
    58 KB · Affichages: 43

Skeo

XLDnaute Nouveau
Re : Étirer une formule jusqu'à une valeur calculé

Bonsoir et merci de cette réponse.

Cependant, bien que je ne puisse pas dire que ça ne marche pas, je n'arrive pas à la comprendre:confused:... Parce qu'en faite, j'ai simplifier ma question et que maintenant il me faut adapter cette formule à mon contexte... Donc je doit la comprendre pour la manipuler!

J'ai réussi à répondre à une partie de mes questions mais certaines restent en suspend, donc je m'interroge :

si je prend le morceau suivant :

SI(MOIS.DECALER(B15;--INDEX({1;3;6;12;12};CHERCHE(GAUCHE($F$4&" ";1);"MTSA ")))>$J$6

Je ne comprend pas les éléments suivants : --INDEX({1;3;6;12;12} Pourquoi "--"? et quel est cet usage de la formule INDEX, dans laquelle la matrice est ici entre {} avec des références qui ne semblent faire référence à rien (d'après l'usage simpliste que j'en fait du moins...:confused:)

Et dans GAUCHE($F$4&" ";1), je ne comprend rien ... Pourquoi chercher à extraire "M", et à quoi correspond &" " ?

Bref, je ne comprend pas grand chose mais j'aimerais comprendre.... Pouvez vous m'expliquer s'il vous plait:eek:

Merci!
 

ROGER2327

XLDnaute Barbatruc
Re : Étirer une formule jusqu'à une valeur calculé

Re...


(...)
Cependant, bien que je ne puisse pas dire que ça ne marche pas, je n'arrive pas à la comprendre:confused:... Parce qu'en faite, j'ai simplifier ma question et que maintenant il me faut adapter cette formule à mon contexte...
Eh oui ! C'est l'inconvénient de poser un problème autre que celui qu'on veut résoudre. Et quelle perte de temps !


(...)
J'ai réussi à répondre à une partie de mes questions mais certaines restent en suspend, donc je m'interroge :

si je prend le morceau suivant :

SI(MOIS.DECALER(B15;--INDEX({1;3;6;12;12};CHERCHE(GAUCHE($F$4&" ";1);"MTSA ")))>$J$6

Je ne comprend pas les éléments suivants : --INDEX({1;3;6;12;12} Pourquoi "--"? et quel est cet usage de la formule INDEX, dans laquelle la matrice est ici entre {} avec des références qui ne semblent faire référence à rien (d'après l'usage simpliste que j'en fait du moins...:confused:)

Et dans GAUCHE($F$4&" ";1), je ne comprend rien ... Pourquoi chercher à extraire "M", et à quoi correspond &" " ?

Bref, je ne comprend pas grand chose mais j'aimerais comprendre.... Pouvez vous m'expliquer s'il vous plait:eek:

Merci!
Voici quelques éléments de réponse :​

Dans
Code:
=SI(B15="";"";SI(MOIS.DECALER(B15;--INDEX({1;3;6;12;12};CHERCHE(GAUCHE($F$4&" ";1);"MTSA ")))>$J$6;"";MOIS.DECALER(B15;--INDEX({1;3;6;12;12};CHERCHE(GAUCHE($F$4&" ";1);"MTSA ")))))
"--" est un résidu de mise au point absolument inutile et doit être supprimé. (On ne se relit jamais assez.)
Formule corrigée :
Code:
=SI(B15="";"";SI(MOIS.DECALER(B15;INDEX({1;3;6;12;12};CHERCHE(GAUCHE($F$4&" ";1);"MTSA ")))>$J$6;"";MOIS.DECALER(B15;INDEX({1;3;6;12;12};CHERCHE(GAUCHE($F$4&" ";1);"MTSA ")))))

Il s’agit de décaler la date en B15 de 1, 3, 6 ou 12 mois selon que F4 vaut Mensuelle, Trimestrielle, Semestrielle, Annuelle.
Il me faut donc transformer Mensuelle, Trimestrielle, Semestrielle, Annuelle en 1, 3, 6, 12. Je fais cela en deux étapes :

Premièrement, profitant de ce que chaque valeur possible de F4 commence par une lettre différente, je peux identifier chaque valeur par GAUCHE($F$4;1).
CHERCHE(GAUCHE($F$4;1);"MTSA") renvoie 1, 2, 3 ou 4 selon que F4 vaut Mensuelle, Trimestrielle, Semestrielle ou Annuelle.
Il faut également considérer que F4 peut être vide. Dans ce cas, GAUCHE($F$4;1) renvoie "" (chaîne de longueur nulle). Donc CHERCHE(GAUCHE($F$4;1);"MTSA") renvoie 1. Donc le cas où F4 est vide est assimilé au cas où F4 vaut Mensuelle. Pour éviter cela, j’écris CHERCHE(GAUCHE($F$4&" ";1);"MTSA ").
GAUCHE($F$4&" ";1) renvoie "M", "T", "S" ou "A" si F4 n’est pas vide, et " " si F4 est vide.
CHERCHE(GAUCHE($F$4&" ";1);"MTSA ") renvoie 1, 2, 3, 4 ou 5 selon que F4 vaut Mensuelle, Trimestrielle, Semestrielle, Annuelle ou est vide.

Deuxièmement, j’associe 1, 2, 3, 4 à 1, 3, 6, 12. En l’absence d’indication sur ce qu’il convient de faire lorsque F4 est vide, j’ai choisi d’assimiler ce cas au cas où F4 vaut Annuelle. J’ai choisi INDEX({1;3;6;12;12};CHERCHE(GAUCHE($F$4&" ";1);"MTSA ")) mais j’aurais pu écrire CHOISIR(CHERCHE(GAUCHE($F$4&" ";1);"MTSA ");1;3;6;12;12).

À propos de la syntaxe de la fonction INDEX, voir l’aide fournie avec Excel ; extrait :
La syntaxe de la fonction INDEX contient les arguments suivants :
matrice Obligatoire. Représente une plage de cellules ou une constante matricielle.
(…)

Pour le reste, ça devrait être sans problème.


Bonne nuit.​


ℝOGER2327
#7594


Lundi 2 Haha 142 (Dissolution d’Edgar Poe, dinomythurge - fête Suprême Quarte)
16 Vendémiaire An CCXXIII, 8,6123h - belle-de-nuit
2014-W41-2T20:40:11Z
 
Dernière édition:

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16