@TATA_2000
ton fichier en retour : https://www.cjoint.com/c/MEydT4fzFV0
--------------------------------------------------------------------------------------------------------
avant de répondre à ta demande, commençons par ceci :
en E11 : =D11+500000
en D13 : =D42 ; j'ai simplement enlevé le signe « + ».
en D14 : =D13+D12 ; inutile d'utiliser la fonction SOMME()
pour faire le total de seulement 2 cellules ! ;)
pour ces 3 formules, je les ai déjà étendues
à droite jusqu'en colonne AA.
--------------------------------------------------------------------------------------------------------
je vais maintenant répondre à ta demande, et ça sera en 2 parties ; dans les
formules qui seront indiquées ci-dessous, c'est ce qui est en gras qui sera
expliqué ; ne tiens pas compte du reste, ça sera expliqué plus loin.
--------------------------------------------------------------------------------------------------------
Partie A : quand la cellule F33 est vide.
MÊMES RÉSULTATS QU'AVANT : en D27 : 1 000 000 ; en D29 : 10 917.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
formule en E27 : =SIERREUR(EQUIV(D24;D12:AA12;1);"?")
en D24, il y a 917 ; EQUIV() recherche 917 dans D12:AA12 (recherche selon
une valeur proche) ; ça retourne 1 car ça trouve 917 en 1ère colonne de la
plage D12:AA12 ; j'ai ajouté SIERREUR() car si par exemple tu mets un PD
de 800, ça retourne « ? » au lieu de « #N/A » ; remets 917.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
formule en D27 :
=SI(F33="";SIERREUR(INDEX(D11:AA11;E27);"?");F28+((F29-F28)/(F33-D25)))
comme F33 est vide, ça retourne un nombre de la ligne 11 (selon E27) ;
j'ai ajouté SIERREUR() pour éviter aussi un éventuel #N/A.
pour un PD de 917, ça retourne un KD de 1 000 000.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
formule en E29 :
=SI(F33="";EQUIV(D25;D13:AA13;0);EQUIV(F33;D13:AA13;1))
en D25, il y a 10 000 ; comme F33 est vide, EQUIV() recherche 10 000 dans
D13:AA13 (recherche selon une valeur exacte) ; ça retourne 1 car ça trouve
10 000 en 1ère colonne de la plage D13:AA13.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
formule en D29 : =SI(F33="";INDEX(D14:AA14;E29);F33)
comme F33 est vide, ça retourne un nombre de la ligne 14 (selon E29).
pour un PE de 10 000, ça retourne un PT de 10 917.
--------------------------------------------------------------------------------------------------------
Partie B : quand tu saisis un PT en F33.
par exemple, en F33, saisis : 10500 ➯ en D29 : PT = 10 500 ;
en D27 : KD = 1 001 000 ; c'est mon interpolation :
1 500 000 - 1 000 000 = 500 000
10 500 - 10 000 = 500
500 000 / 500 = 1 000
1 000 000 + 1 000 = 1 001 000
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
formule en D29 : =SI(F33="";INDEX(D14:AA14;E29);F33)
comme F33 n'est pas vide, ça retourne simplement
le nombre que tu as saisi en F33 : 10 500.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
en E27 : comme c'est déjà noté en partie A, donc : même formule ; et même
résultat : 1 ; mais juste pour info, quand F33 n'est pas vide, ce 1 n'est pas
utilisé par la formule de D27 (à la place, ça fait une interpolation).
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
formule en E29 :
=SI(F33="";EQUIV(D25;D13:AA13;0);EQUIV(F33;D13:AA13;1))
en F33, il y a 10 500 ; comme F33 n'est pas vide, EQUIV() recherche 10 500
dans D13:AA13 (recherche selon une valeur proche) ; ça retourne 1 vu les
données de la plage D13:AA13 : 10 500 est entre 10 000 de D13 et 15 000
de E13.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
en F28 : =SI(F33="";"";DECALER(C11;0;E29)) ; retour : 1 000 000
(juste pour info, note que ça retourne rien si F33 est vide).
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
en F29 : =SI(F33="";"";DECALER(C11;0;E29+1)) ; retour : 1 500 000
(juste pour info, note que ça retourne rien si F33 est vide).
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
formule en D27 :
=SI(F33="";SIERREUR(INDEX(D11:AA11;E27);"?");F28+((F29-F28)/(F33-D25)))
comme F33 n'est pas vide, ça retourne un nombre qui est mon interpolation ;
donc pour un PT de 10 500, ça retourne un KD de 1 001 000.
--------------------------------------------------------------------------------------------------------
ajout pour la ligne 42 : si tu veux, tu peux mettre en E42 cette formule :
=D42+5000 (puis étendre cette formule à droite jusqu'en AA42).
j'ai préféré éviter de le faire car je ne sais pas au juste comment tu gères
la plage D42:AA42 : peut-être que tu ajoutes des colonnes ou que tu en
supprimes ? ;)
--------------------------------------------------------------------------------------------------------
si besoin, tu peux demander une adaptation.
à te lire pour avoir ton avis. :)
rhodo