XL 2013 Calcul de pourcentage

xxfahrenheitxx

XLDnaute Nouveau
Bonjour,

ma question est plus un problème mathématique qu'un véritable problème excel mais j'espère trouver quelqu'un ici qui sera plus calé que moi pour trouver une solution car je fait choux blanc depuis deux jours malgrès de nombreux essaye

voici mon problème :

j'ai une valeur maximal que je concidère comme étant le 100%
j'ai une valeur médianne qui représente donc le 50%
je souhaite trouvé ce que vaut le pourcentage d'une valeur données entre la médianne et le maximum

soit les exemples suivant :

max = 300 = 100%
med = 120 = 50%
val = 230 = x

ou


max = 49 = 100%
med = 7 = 50%
val = 14 = x

pour l'instant je m'en tiens à l'intitulé de ma problématique pour ne pas vous embrouiller mais si quelqu'un le souhaite je vous transmet volontier l'état actuel de mes calcul, comme ils n'ont rien donné de proban je pense qu'ils sont erroné

merci d'avance pour l'aide que vous pourrez m'apporter
Fahrenheit
 

R@chid

XLDnaute Barbatruc
Re : Calcul de pourcentage

Bonjour,
c'est pas assez clair
je ne sais pas si t'as une idée sur les résultats escomptés pour les 2 exemples fournis puisque ton problème est plutôt mathématique.
voir fichier si cela te convient.


@ + +
 

Pièces jointes

  • xxfahrenteitxx.xlsx
    9.3 KB · Affichages: 26

xxfahrenheitxx

XLDnaute Nouveau
Re : Calcul de pourcentage

Merci R@chid,

on s'approche du but grâce à toi on est à deux doigt de trouver la bonne formule
ton résultat est inversément proportionnel au résultat attendu ^^

je m'explique

quand la valeur = la médianne le résultat est 100%
quand la valeur = Max le résultat est 40%

on cherche le résultat inverse

valeur = max = 100%
valeur = mediane = 40% (ou 50% plutot mais je comprend pourquoi il donne 40% et c'est pas un problème)

si tu as une idée n'hésite pas, je vais continuer à bosser à partir de ton fichier
encore merci pour ton aide rapide c'est très apprécié

Fahrenheit
 

Dranreb

XLDnaute Barbatruc
Re : Calcul de pourcentage

Bonjour.

je me suis écrit cette fonction dont je me sers souvent, quand j'ai la flemme de m'établir la formule qui ne l'utilise pas…
VB:
Function IntpoLin(ByVal X As Double, ByVal X1 As Double, ByVal Y1 As Double, _
                                     ByVal X2 As Double, ByVal Y2 As Double) As Double
IntpoLin = Y1 + (Y2 - Y1) * (X - X1) / (X2 - X1)
End Function
Code:
=IntpoLin(230;300;1;120;0,5)
=0,80555555555555556


Si 0 doit correspondre à 0, ça veut dire que la variation n'est pas linéaire. J'ai d'autres fonctions à 3 points, si ça vous intéresse, qui font des interpolations selon des variations logarithmique, hyperbolique et exponentielle.
Voici l'hyperbolique :
VB:
Function IntpoHyp(ByVal X As Double, ByVal X1 As Double, ByVal Y1 As Double, _
                                     ByVal X2 As Double, ByVal Y2 As Double, _
                                     ByVal X3 As Double, ByVal Y3 As Double) As Double
Dim dX As Double, dY As Double: dX = X3 - X1: dY = Y3 - Y1: If dY = 0 Then IntpoHyp = Y1: Exit Function
IntpoHyp = Y1 + dY * F0à1xyInt((X - X1) / dX, (X2 - X1) / dX, (Y2 - Y1) / dY)
End Function
Function F0à1xyInt(ByVal X As Double, ByVal XInt As Double, ByVal YInt As Double) As Double
Dim Dét As Double, A As Double, B As Double
Dét = XInt - YInt
If Abs(Dét) > 2.3283064365387E-10 Then
   A = XInt * (YInt - 1) / Dét
   B = YInt * (XInt - 1) / Dét
   If X <> -A Then F0à1xyInt = B - (A * B) / (X + A)
Else
   F0à1xyInt = X: End If
End Function
 
Dernière édition:

GerardCalc

XLDnaute Occasionnel
Re : Calcul de pourcentage

Bonjour,

Pourquoi réinventer la roue ?
Je n'ai jamais compris pourquoi écrire une fonction ou procédure vba quand une fonction ou fonctionnalité native existe...

Code:
=PREVISION(B3;C1:C2;B1:B2)
Les références de cellules sont celles du fichier fourni par @Rachid.

A+
 

Dranreb

XLDnaute Barbatruc
Re : Calcul de pourcentage

Cette fonction détermine une droite minimisant la somme des carrés des écarts entre elle même et les valeurs Y données aux X donnés. Elle ne calcule pas une fonction monotone passant exactement par 3 points.
Mais c'est vrai qu'elle donne le même résultat que IntpoLin pour deux points. Mais cette dernière est plus simple et peut aussi être utilisée en VBA, et facilement optimisable ultérieurement par une expression qui ne l'utilise plus.
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 321
Messages
2 087 265
Membres
103 501
dernier inscrit
talebafia