Déduction des valeurs différents selon la valeur résiduelle

Bonjour à tous,

J'ai besoin de votre aide.

J'ai une valeur de base disons 50. Selon un nombre de points obtenue, j'aimerai déduire une valeur par point. Le problème c'est que la valeur par point change quand la valeur de base descend en dessous de 40. Et de nouveau en dessous 30 etc.

La valeur par point est de 5 entre 40 & 50, de 3 entre 30 & 40, de 2 entre 20 & 30 et finalement de 1 entre 10 & 20.

Donc si une personne obtient 5 points, je veux déduire (2x5, 3x3) 19 de la valeur de base avec une nouvelle valeur de base de 31.

J'espère que je me fais comprendre.

Merci pour votre aide.

Bonne journée à vous.

Bonjour

pas encore compris

Bonjour,

comme il a dit l'ami Amir c'est pas encore clair.

tu devrais nous joindre un fichier exemple avec différents cas de figures et les résultats escomptés pour que l'on puisse t'aider.

@ te relire

Rebonjour,

Alors je vais essayer d'être plus claire.

Dans une épreuve la personne obtient 5 points lesquelles vont être déduit de son classement/catégorie. Chacun des 5 poinst a une valeur dépendant du classement/de la catégorie. Donc si on est dans la 5ème catégorie (entre 40 & 50) le point vaut 5 unités. Si on descend ensuite dans la 4ème catégorie le point vaut plus que 3 unités etc.

En partant avec un classement/catégorie de 49 et je déduis les points obtenues, je ne peux pas faire 5points x 5unités, parceque après déduction des premiers deux points, la personne sera à 39 et à partir de là les point ne valent plus que 3 unités. Il faut donc déduire d'abord 2x5 et ensuite 3x3 pour arriver à 30.

LA question est donc comment faire la formule pour faire comprendre à Excel que la personne a changé de catégorie et que la valeur n'est plus la même pour les points.

Rebonjour,

J'avais pensé à ça:

=SI(D6<10;(E31*0.5);SI(ET(D6>9;D6<20);(E31*1);SI(ET(D6>19;D6<30);(E31*2);SI(ET(D6>29;D6<40);(E31*3);(E31*5)))

ou D6 est le classement et E31 le résultat.

ça fonctionne s'il n'y a pas de changement de catégorie. Mais dès qu'on dépasse, la valeur n'est pas ajusté.

Merci beaucoup

bonjour

Désolé, mais je pense que vous ignorez les détailles importants , ou comme vous parlez avec un mathématicien !, je ne sais plus de quoi vous parlez

Bonjour,

Une proposition avec une fonction personnelle :

A+

Merci Frangy,

Mais là, je n'arrive pas à comprendre la formule, même que les résultats sont just.

Est-ce que quelqu'un joue au golf?

Les modifications de handicap fonctionnent selon le même principe.

A +

Comme je l'ai indiqué, je n'ai pas utilisé une fonction générique de Excel.

J'ai créé une fonction personnelle.

Il s'agit d'un type de procédure qui retourne une valeur dans la cellule appelante.

Pour visualiser cette fonction nommée NouveauClassement :

  • Appuyer sur alt + F11 pour ouvrir l'éditeur
  • Appuyer sur ctrl+ R pour ouvrir l'explorateur de projets
  • Cliquer sur Modules > Module1

A+

Rebonjour Frangy,

Merci pour ces explications. Je connais pas grand chose au VBA (pas encore).

Ci-joint un fichier avec le calcul selon le problème posé précédemment.

On part avec la valeur de base (hcp) en D6. Selon les scores obtenues, il y a un résultat qui sera encore adapté par rapport aux différent conditions (CBA) en E31, H31, K31 et N31. De ce résultat on enlève 36 points et pour chaque point qui reste, on déduira quelques dixièmes du Hcp(D6) et on obtiendra le New Hcp (N6).

Si le HCP est <4.5 on déduit 0.1 par point et on rajoute 0.1 si les résultat en E31 est <35

Si le Hcp est < 11.5 on enlève 0.2 par point et on rajoute 0.1 si les résultat en E31 est <34

Si le Hcp est < 18.5 on déduit 0.3 par point et on rajoute 0.1 si les résultat en E31 est <33.

Vous pouvez m'aider avec ça?

Merci

Wouter

Bonjour,

Je n'ai pas compris si le but recherché est d'ajouter une correction au New HCP calculé actuellement avec la formule =SOMME(D6+E32+H32+K32+N32) ou s'il s'agit de modifier les calculs en E32, H32, K32 et N32.

Le plus simple serait que tu donnes un ou deux exemples concrets de calcul en précisant les différentes phases et le résultat à obtenir.

A+

Bonjour,

Je sais c'est un peu compliqué.

Le calcul NewHcp doit rester comme ça c'est le plus simple. Ce qui complique c'est le caclul de la modification dans E32, H32, K32 et N32. Je re-joins le tableau avec un handicap au départ un peu plus élevé pour montrer le soucis. Et j'ai ajouté des petits commentaires.

Donc pour résumer:

Au départ de la compétition le joueur a un handicap de 5.2. Il obtient un résultat de 41 points dont on soustrait les 36 points (36 correspond à son niveau de handicap actuel) ce qui fait que il a joué 5 points de mieux. A ce niveau le point vaut 0.2 et on déduit alors 4 x 0.2 pour arriver dans la prochaine catégorie où le point ne vaut plus que 0.1 et on soustrait alors le dernier des 5 points pour arriver à 4.3.

Au deuxième tour il joue son niveau, le hcp ne bouge pas.

Au troisième tour il joue moins bien et son hcp remonte de 0.1 (plafonné, indépendamment de combien de points qu'il a fait en dessous de 35).

C'est plus clair?

A+

Dis-moi si cette fonction t'inspire ...

Function NouveauHCP(AncienHCP As Double, Niveau As Double, Résultat As Integer) As Double
Dim R As Integer
Dim C As Double
    C = AncienHCP 'Valeur 5.32 dans l'exemple
    For R = (Résultat - Niveau) To 1 Step -1 ' Résultat=41; Niveau=36; On effectue une itération décroissante de 5 à 1
        Select Case C
            Case Is < 4.5: C = C - 0.1 'Si le HCP est < 4.5, on lui soustrait 0.1
            Case Is < 11.5: C = C - 0.2 'Si le HCP est < 11.5, on lui soustrait 0.2
            Case Is < 18.5: C = C - 0.3 'Si le HCP est < 18.5, on lui soustrait 0.1
        End Select
    Next R
    NouveauHCP = C
End Function

La formule de calcul du nouveau HCP sera donc de la forme =NouveauHCP(D6;36;E31) pour le premier tour.

avec :

AncienHCP : D6, soit 5.2

Niveau : 36

Résultat : E31, soit 41

La fonction renvoie 4.3

A+

Je crois que tu as compris où j'en veux venir. J'oublié encore un petit détail:

Comme tu as surement remarqué il y a encore le playing handicap. Le playing hcp est calculé par rapport au CR et SR et le Par.

Vue que le hcp change de 5.2 en 4.3 le paying hcp doit suivre ce même calcul.

Donc le premier jouer en partant avec 5.2 le playing hcp est de 5 et le deuxième jour après modification le playing hcp passe à 4.

UNe autre question: Comment est-ce que j'applique ce module VBA après à chaque cellule E32, H32, K32 , N32?

Merci et à +

Salut,

Si la fonctionne pourrait renvoyer -0.9 comme résultat dans E32 par exemple, ça me facilitera la chose.

Je vais m'intéresser un peu plus dans le VBA, ça l'air très intéressant.

Et moi qui pensait de m'y connaitre en Excel !

Bonjour,

Je ne t'ai pas oublié mais j'ai à traiter une priorité d'ordre familial qui ne me laisse pas beaucoup de temps.

Si personne n'a pu t'aider entre temps, je reviendrai vers toi.

A+

Pas de problème! J'ai posté ce message aussi pour les autres au cas où.

A+

Bonjour,

Voici une nouvelle proposition à tester

A+

Bonjour,

D'abord un grand merci de travailler pour moi, même le weekend. J'ai testé la formule et après une petite modification ça fonctionne:

=SI(F11=0;0;NouveauHCP(E32;36;H31))

Par contre, j'aimerai que le NouveauHCP soit aussi ajusté si le résultat est mauvais. L'augmentation sera pour les trois catégorie la même, à savoir 0.1. Pour que le score soit mauvais pour la catégorie jusqu'à 4.4 il faut que le joueur fasse moins de 35 points, pour la catégorie jusqu'à 11.4 moins de 34 et pour la dernière catégorie moins de 33 points.

Merci

A+

Bonjour,

Je n'ai pas compris ta modification de formule

=SI(F11=0;0;NouveauHCP(E32;36;H31))

Il faudrait que tu joignes un fichier pour que je vois le positionnement des données.

Pour ce qui concerne l'ajustement du Nouveau Handicap, je ne vois pas à quel emplacement tu indiques le nombre de points réalisé par le joueur.

A+

Rechercher des sujets similaires à "deduction valeurs differents valeur residuelle"