CALCUL EN FONCTION DU NOMBRE DE JUGES

Le
Yves_Lyon
Bonjour,
Je souhaite faire des calculs en fonction du nombre de juges d'une compétition
avec 3 JUGES: total des 3 notes divisé par 3 et multiplié par 5
avec 5 JUGES: total des notes en enlevant la plus haute et la plus basse des 5
divisé par 3 et multiplié par 5
avec 6 JUGES: total des notes en enlevant la plus haute et la plus basse des 6
divisé par 4 et multiplié par 5
avec 7 juges : total des notes en enlevant la plus haute et la plus basse
des 7
Je sais le faire avec la fonction HorsExtreme de Raymond mais sur un seul
cas, et je ne vois pas comment je peux sélectionner un calcul en fonction du
nombre de juges ?
Merci d'avance
Yves
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
3stone
Le #21477331
Salut,

Yves_Lyon wrote:
Je souhaite faire des calculs en fonction du nombre de juges d'une
compétition avec 3 JUGES: total des 3 notes divisé par 3 et multiplié
par 5
avec 5 JUGES: total des notes en enlevant la plus haute et la plus
basse des 5 divisé par 3 et multiplié par 5
avec 6 JUGES: total des notes en enlevant la plus haute et la plus
basse des 6 divisé par 4 et multiplié par 5
avec 7 juges : total des notes en enlevant la plus haute et la plus
basse
des 7
Je sais le faire avec la fonction HorsExtreme de Raymond mais sur un
seul cas, et je ne vois pas comment je peux sélectionner un calcul en
fonction du nombre de juges ?




Je ne connais pas la fonction HorsExtreme() de Raymond ;-)

Quelle est-elle ?

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Yves_Lyon
Le #21478981
Bonjour,
La fonction HorsExtreme de Raymond me permettait de caluculer une somme de
plusieurs champs en enlevant la valeur la plus haute d'un champ et la plus
basse d'un autre champ.

'------ début de la fonction à coller ----------

Function HorsExtreme(ParamArray Valeurs() As Variant)
Dim intVar As Integer
Dim varMax As Variant
Dim varMin As Variant
Dim TOTAL As Double
'Cherche le plus grand
For intVar = 0 To UBound(Valeurs())
TOTAL = TOTAL + Valeurs(intVar)
If Valeurs(intVar) > varMax Then varMax = Valeurs(intVar)
Next intVar

varMin = varMax

'Cherche le plus petit
For intVar = 0 To UBound(Valeurs())
If Valeurs(intVar) < varMin Then varMin = Valeurs(intVar)
Next intVar

HorsExtreme = TOTAL - varMin - varMax

End Function

'------ fin -----------------------------------
En résumé,
J'ai 7 champs numériques
C1,C2,C3,C4,C5,C6,C7
Une liste déroulante NB dont les valeurs sont:
3
4
5
6
7
Calcul du résultat
Si NB=3
TOTAL=((C1+C2+C3)/3 )*5
Si NB=4
TOTAL=((C1+C2+C3+C4)/4 )*5
Si NB=5
TOTAL=(((C1+C2+C3+C4+C5)- la plus haute valeur - la plus basse valeur)/3 )*5
Si NB=6
TOTAL=(((C1+C2+C3+C4+C5+C6)- la plus haute valeur - la plus basse valeur)/4
)*5
Si NB=7
TOTAL=((C1+C2+C3+C4+C5+C6+C7)- la plus haute valeur - la plus basse valeur)
La difficulté pour moi c'est de faire afficher le résultats de TOTAL en
fonction de NB
J'aurai donc 5 valeurs TOTAL différentes en fonction des 5 valeurs de NB
Raymond m'avait aidé il y a 4 ans mais je n'avais qu'une condition.
Merci d'avance
Yves




"3stone" a écrit :

Salut,

Yves_Lyon wrote:
> Je souhaite faire des calculs en fonction du nombre de juges d'une
> compétition avec 3 JUGES: total des 3 notes divisé par 3 et multiplié
> par 5
> avec 5 JUGES: total des notes en enlevant la plus haute et la plus
> basse des 5 divisé par 3 et multiplié par 5
> avec 6 JUGES: total des notes en enlevant la plus haute et la plus
> basse des 6 divisé par 4 et multiplié par 5
> avec 7 juges : total des notes en enlevant la plus haute et la plus
> basse
> des 7
> Je sais le faire avec la fonction HorsExtreme de Raymond mais sur un
> seul cas, et je ne vois pas comment je peux sélectionner un calcul en
> fonction du nombre de juges ?


Je ne connais pas la fonction HorsExtreme() de Raymond ;-)

Quelle est-elle ?

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)

.

3stone
Le #21484422
Salut,

Yves_Lyon wrote:
J'ai 7 champs numériques
C1,C2,C3,C4,C5,C6,C7
Calcul du résultat
Si NB=3
TOTAL=((C1+C2+C3)/3 )*5
Si NB=4
TOTAL=((C1+C2+C3+C4)/4 )*5
Si NB=5
TOTAL=(((C1+C2+C3+C4+C5)- la plus haute valeur - la plus basse
valeur)/3 )*5 Si NB=6
TOTAL=(((C1+C2+C3+C4+C5+C6)- la plus haute valeur - la plus basse
valeur)/4 )*5
Si NB=7
TOTAL=((C1+C2+C3+C4+C5+C6+C7)- la plus haute valeur - la plus basse
valeur) La difficulté pour moi c'est de faire afficher le résultats
de TOTAL en fonction de NB




Tu peux utiliser cette fonction qui accepte entre 3 et 7 valeurs

A propos, c'est destiné à quel sport ?


Function PointsJury(ParamArray Points() As Variant) As Double
'//
'// Usage:
'// x = PointsJury(2, 3, 5, 6, 5)
'//
Dim Total As Double
Dim i As Integer, NbrPts As Integer
Dim vMin As Variant, vMax As Variant

'Nombre de points transmis
NbrPts = UBound(Points()) + 1
'
'Recherche des extremes
vMax = 0
vMin = Points(0)
For i = 0 To UBound(Points())
Total = Total + Points(i)
If Points(i) > vMax Then vMax = Points(i)
If Points(i) < vMin Then vMin = Points(i)
Next i
'
'Nombre de points transmis
Select Case NbrPts
Case 3
PointsJury = (Total / 3) * 5
Case 4
PointsJury = (Total / 4) * 5
Case 5
PointsJury = ((Total - vMin - vMax) / 3) * 5
Case 6
PointsJury = ((Total - vMin - vMax) / 4) * 5
Case 7
PointsJury = (Total - vMin - vMax) / 4
End Select
'
End Function

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Yves_Lyon
Le #21485242
Bonjour,
Merci pour la réponse aussi rapide, je vais tester demain et je te tiens au
courant
je gère la saisie des notes sur tableur Excel de la natation synchronisée
pour le comité du lyonnais, le tableur utilisé n'est pas pratique, il y a
beaucoup d'onglets et je préfére de loin utiliser un formulaire plus aisé à
manipuler; Raymond m'avait aidé il y a quelques années mais pour des
résultats individuels mais seulement avec 7 juges. dans cette compétition on
est souvent au début 5 juges , 6 ou 7 .
A bientôt
Yves

"3stone" a écrit :

Salut,

Yves_Lyon wrote:
> J'ai 7 champs numériques
> C1,C2,C3,C4,C5,C6,C7
> Calcul du résultat
> Si NB=3
> TOTAL=((C1+C2+C3)/3 )*5
> Si NB=4
> TOTAL=((C1+C2+C3+C4)/4 )*5
> Si NB=5
> TOTAL=(((C1+C2+C3+C4+C5)- la plus haute valeur - la plus basse
> valeur)/3 )*5 Si NB=6
> TOTAL=(((C1+C2+C3+C4+C5+C6)- la plus haute valeur - la plus basse
> valeur)/4 )*5
> Si NB=7
> TOTAL=((C1+C2+C3+C4+C5+C6+C7)- la plus haute valeur - la plus basse
> valeur) La difficulté pour moi c'est de faire afficher le résultats
> de TOTAL en fonction de NB


Tu peux utiliser cette fonction qui accepte entre 3 et 7 valeurs

A propos, c'est destiné à quel sport ?


Function PointsJury(ParamArray Points() As Variant) As Double
'//
'// Usage:
'// x = PointsJury(2, 3, 5, 6, 5)
'//
Dim Total As Double
Dim i As Integer, NbrPts As Integer
Dim vMin As Variant, vMax As Variant

'Nombre de points transmis
NbrPts = UBound(Points()) + 1
'
'Recherche des extremes
vMax = 0
vMin = Points(0)
For i = 0 To UBound(Points())
Total = Total + Points(i)
If Points(i) > vMax Then vMax = Points(i)
If Points(i) < vMin Then vMin = Points(i)
Next i
'
'Nombre de points transmis
Select Case NbrPts
Case 3
PointsJury = (Total / 3) * 5
Case 4
PointsJury = (Total / 4) * 5
Case 5
PointsJury = ((Total - vMin - vMax) / 3) * 5
Case 6
PointsJury = ((Total - vMin - vMax) / 4) * 5
Case 7
PointsJury = (Total - vMin - vMax) / 4
End Select
'
End Function

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)

.

Yves_Lyon
Le #21485952
Bonsoir,
J'ai testé et ce n'est pas bon, j'ai pris tous les cas de figures
3 juges il enlève la plus haute et la plus basse sans s'occupper de la
division et multiplication
4 juges il enlève la plus haute et la plus basse sans s'occupper de la
division et multiplication
5juges il enlève la plus haute et la plus basse sans s'occupper de la
division et multiplication
6 juges il enlève la plus haute et la plus basse sans s'occupper de la
division et multiplication
7 juges il enlève la plus haute et la plus basse
et là c'est bon
A bientôt
Yves

"3stone" a écrit :

Salut,

Yves_Lyon wrote:
> J'ai 7 champs numériques
> C1,C2,C3,C4,C5,C6,C7
> Calcul du résultat
> Si NB=3
> TOTAL=((C1+C2+C3)/3 )*5
> Si NB=4
> TOTAL=((C1+C2+C3+C4)/4 )*5
> Si NB=5
> TOTAL=(((C1+C2+C3+C4+C5)- la plus haute valeur - la plus basse
> valeur)/3 )*5 Si NB=6
> TOTAL=(((C1+C2+C3+C4+C5+C6)- la plus haute valeur - la plus basse
> valeur)/4 )*5
> Si NB=7
> TOTAL=((C1+C2+C3+C4+C5+C6+C7)- la plus haute valeur - la plus basse
> valeur) La difficulté pour moi c'est de faire afficher le résultats
> de TOTAL en fonction de NB


Tu peux utiliser cette fonction qui accepte entre 3 et 7 valeurs

A propos, c'est destiné à quel sport ?


Function PointsJury(ParamArray Points() As Variant) As Double
'//
'// Usage:
'// x = PointsJury(2, 3, 5, 6, 5)
'//
Dim Total As Double
Dim i As Integer, NbrPts As Integer
Dim vMin As Variant, vMax As Variant

'Nombre de points transmis
NbrPts = UBound(Points()) + 1
'
'Recherche des extremes
vMax = 0
vMin = Points(0)
For i = 0 To UBound(Points())
Total = Total + Points(i)
If Points(i) > vMax Then vMax = Points(i)
If Points(i) < vMin Then vMin = Points(i)
Next i
'
'Nombre de points transmis
Select Case NbrPts
Case 3
PointsJury = (Total / 3) * 5
Case 4
PointsJury = (Total / 4) * 5
Case 5
PointsJury = ((Total - vMin - vMax) / 3) * 5
Case 6
PointsJury = ((Total - vMin - vMax) / 4) * 5
Case 7
PointsJury = (Total - vMin - vMax) / 4
End Select
'
End Function

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)

.

3stone
Le #21486202
Salut,

Yves_Lyon wrote:
J'ai testé et ce n'est pas bon, j'ai pris tous les cas de figures



Vraiment ?

sans s'occuper de la division...
dans ce cas, tu devrais lire ce que tu as écrit plus bas ;-)

Pour moi, la fonction fait exactement ce que tu y as écrit.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)



3 juges il enlève la plus haute et la plus basse sans s'occupper de la
division et multiplication
4 juges il enlève la plus haute et la plus basse sans s'occupper de la
division et multiplication
5juges il enlève la plus haute et la plus basse sans s'occupper de la
division et multiplication
6 juges il enlève la plus haute et la plus basse sans s'occupper de la
division et multiplication
7 juges il enlève la plus haute et la plus basse
et là c'est bon



Yves_Lyon wrote:
J'ai 7 champs numériques
C1,C2,C3,C4,C5,C6,C7
Calcul du résultat
Si NB=3
TOTAL=((C1+C2+C3)/3 )*5
Si NB=4
TOTAL=((C1+C2+C3+C4)/4 )*5
Si NB=5
TOTAL=(((C1+C2+C3+C4+C5)- la plus haute valeur - la plus basse
valeur)/3 )*5 Si NB=6
TOTAL=(((C1+C2+C3+C4+C5+C6)- la plus haute valeur - la plus basse
valeur)/4 )*5
Si NB=7
TOTAL=((C1+C2+C3+C4+C5+C6+C7)- la plus haute valeur - la plus basse
valeur) La difficulté pour moi c'est de faire afficher le résultats
de TOTAL en fonction de NB
Yves_Lyon
Le #21487912
Bonjour,
Désolé, j'ai du mal m'exprimer (pourtant je suis prof mais en fin de
carrière !!!!!) où alors j'ai oublié de te dire que l'on fonctionnait sur les
notes saisies.
En fait la fonction considère toujours les 7 Notes mais si j'ai :
3 juges on calcule sur les 3 premières notes /3*5
4 juges on calcule sur les 4 premières notes /4*5
5 juges on calcule sur les 5 premières notes on enleve la plus haute et la
plus basse des 5 et on/3*5
6 juges on calcule sur les 6 premières notes on enleve la plus haute et la
plus basse des 6 et on/4*5
7 juges on calcule sur les 7 notes on enleve la plus haute et la plus basse
En fait, à chaque fois on divise par le nombre de notes restantes et on
multiplie par 5
C'est pour équilibrer la notation, mais la notation avec 7 juges est la plus
pertinente, avec 3 juges toutes les notes comptent.
C'est toujours mon problème, je suis tellement dans mon sport que j'oublié
l'essentiel.
Merci encore
Yves




"3stone" a écrit :

Salut,

Yves_Lyon wrote:
> J'ai testé et ce n'est pas bon, j'ai pris tous les cas de figures

Vraiment ?

sans s'occuper de la division...
dans ce cas, tu devrais lire ce que tu as écrit plus bas ;-)

Pour moi, la fonction fait exactement ce que tu y as écrit.

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)



> 3 juges il enlève la plus haute et la plus basse sans s'occupper de la
> division et multiplication
> 4 juges il enlève la plus haute et la plus basse sans s'occupper de la
> division et multiplication
> 5juges il enlève la plus haute et la plus basse sans s'occupper de la
> division et multiplication
> 6 juges il enlève la plus haute et la plus basse sans s'occupper de la
> division et multiplication
> 7 juges il enlève la plus haute et la plus basse
> et là c'est bon
>
>
>>
>> Yves_Lyon wrote:
>>> J'ai 7 champs numériques
>>> C1,C2,C3,C4,C5,C6,C7
>>> Calcul du résultat
>>> Si NB=3
>>> TOTAL=((C1+C2+C3)/3 )*5
>>> Si NB=4
>>> TOTAL=((C1+C2+C3+C4)/4 )*5
>>> Si NB=5
>>> TOTAL=(((C1+C2+C3+C4+C5)- la plus haute valeur - la plus basse
>>> valeur)/3 )*5 Si NB=6
>>> TOTAL=(((C1+C2+C3+C4+C5+C6)- la plus haute valeur - la plus basse
>>> valeur)/4 )*5
>>> Si NB=7
>>> TOTAL=((C1+C2+C3+C4+C5+C6+C7)- la plus haute valeur - la plus basse
>>> valeur) La difficulté pour moi c'est de faire afficher le résultats
>>> de TOTAL en fonction de NB

.

3stone
Le #21490252
Salut,

Yves_Lyon wrote:
Désolé, j'ai du mal m'exprimer (pourtant je suis prof mais en fin de
carrière !!!!!) où alors j'ai oublié de te dire que l'on fonctionnait
sur les notes saisies.



j'imagine ;-)

En fait la fonction considère toujours les 7 Notes





Reprenons :


La fonction doit renvoyer le total des notes selon ceci :

------------------------



Calcul du résultat
Si NB=3
TOTAL=((C1+C2+C3)/3 )*5
Si NB=4
TOTAL=((C1+C2+C3+C4)/4 )*5
Si NB=5
TOTAL=(((C1+C2+C3+C4+C5)- la plus haute valeur - la plus basse valeur)/3 )*5
Si NB=6
TOTAL=(((C1+C2+C3+C4+C5+C6)- la plus haute valeur - la plus basse valeur)/4)*5
Si NB=7
TOTAL=((C1+C2+C3+C4+C5+C6+C7)- la plus haute valeur - la plus basse valeur)

------------------------------------------



Ok ?

Mais, que transmets tu *exactement* à cette fonction ?


de plus, il y avait une erreur lors de 7 jury... et corrigée...



Function PointsJury(ParamArray Points() As Variant) As Double
'//
'// Usage:
'// x = PointsJury(2, 3, 5, 6, 5)
'//
Dim Total As Double
Dim i As Integer, NbrPts As Integer
Dim vMin As Variant, vMax As Variant

'Nombre de points transmis
NbrPts = UBound(Points()) + 1
'
'Recherche des extremes
vMax = 0
vMin = Points(0)
For i = 0 To UBound(Points())
Total = Total + Points(i)
If Points(i) > vMax Then vMax = Points(i)
If Points(i) < vMin Then vMin = Points(i)
Next i
'
'Nombre de points transmis
Select Case NbrPts
Case 3
PointsJury = (Total / 3) * 5
Case 4
PointsJury = (Total / 4) * 5
Case 5
PointsJury = ((Total - vMin - vMax) / 3) * 5
Case 6
PointsJury = ((Total - vMin - vMax) / 4) * 5
Case 7
PointsJury = (Total - vMin - vMax)
End Select
'
End Function

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Yves_Lyon
Le #21493012
Bonsoir,
les résultats ne sont toujours pas bons sauf pour 7 juges.
exemple
5 JUGES
40 30 50 70 60 on enlève la plus haute 70 on enleve la plus basse 30 il reste:
150 on divise par 3 et on multiplie par 5
Le résultats est 250
6 juges
20 10 40 50 60 80 On enlève la plus haute 80 on enlève la plus basse 10
il reste:170 divisé par 4 et multiplié par 5
le résultats est : 212,5
On divise toujours par le nombre de notes restantes et on multiplie par 5
Quand il y a 7 juges il reste 5 notes divisé par 5 et multiplie Par 5 donc
c'est le total des 5 notes restantes
Si j'ai bien compris ta fonction elle fait des calculs toujours sur
l'ensemble des 7 notes .
A+
yves




"3stone" a écrit :

Salut,

Yves_Lyon wrote:
> Désolé, j'ai du mal m'exprimer (pourtant je suis prof mais en fin de
> carrière !!!!!) où alors j'ai oublié de te dire que l'on fonctionnait
> sur les notes saisies.

j'imagine ;-)

> En fait la fonction considère toujours les 7 Notes



Reprenons :


La fonction doit renvoyer le total des notes selon ceci :

>------------------------

Calcul du résultat
Si NB=3
TOTAL=((C1+C2+C3)/3 )*5
Si NB=4
TOTAL=((C1+C2+C3+C4)/4 )*5
Si NB=5
TOTAL=(((C1+C2+C3+C4+C5)- la plus haute valeur - la plus basse valeur)/3 )*5
Si NB=6
TOTAL=(((C1+C2+C3+C4+C5+C6)- la plus haute valeur - la plus basse valeur)/4)*5
Si NB=7
TOTAL=((C1+C2+C3+C4+C5+C6+C7)- la plus haute valeur - la plus basse valeur)

>------------------------------------------

Ok ?

Mais, que transmets tu *exactement* à cette fonction ?


de plus, il y avait une erreur lors de 7 jury... et corrigée...



Function PointsJury(ParamArray Points() As Variant) As Double
'//
'// Usage:
'// x = PointsJury(2, 3, 5, 6, 5)
'//
Dim Total As Double
Dim i As Integer, NbrPts As Integer
Dim vMin As Variant, vMax As Variant

'Nombre de points transmis
NbrPts = UBound(Points()) + 1
'
'Recherche des extremes
vMax = 0
vMin = Points(0)
For i = 0 To UBound(Points())
Total = Total + Points(i)
If Points(i) > vMax Then vMax = Points(i)
If Points(i) < vMin Then vMin = Points(i)
Next i
'
'Nombre de points transmis
Select Case NbrPts
Case 3
PointsJury = (Total / 3) * 5
Case 4
PointsJury = (Total / 4) * 5
Case 5
PointsJury = ((Total - vMin - vMax) / 3) * 5
Case 6
PointsJury = ((Total - vMin - vMax) / 4) * 5
Case 7
PointsJury = (Total - vMin - vMax)
End Select
'
End Function

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)



.

3stone
Le #21493212
Salut,

Yves_Lyon wrote:
Bonsoir,
les résultats ne sont toujours pas bons sauf pour 7 juges.
exemple
5 JUGES
40 30 50 70 60 on enlève la plus haute 70 on enleve la plus basse 30
il reste: 150 on divise par 3 et on multiplie par 5
Le résultats est 250
6 juges
20 10 40 50 60 80 On enlève la plus haute 80 on enlève la plus basse
10
il reste:170 divisé par 4 et multiplié par 5
le résultats est : 212,5




Mais c'est EXACTEMENT ce que renvoie ma fonction !!!


On divise toujours par le nombre de notes restantes et on multiplie
par 5 Quand il y a 7 juges il reste 5 notes divisé par 5 et
multiplie Par 5 donc c'est le total des 5 notes restantes



oui, mais...


Si j'ai bien compris ta fonction elle fait des calculs toujours sur
l'ensemble des 7 notes .



Non !

Tu es prof ?? et tu ne réponds pas aux questions ?
car j'avais demandé :


Mais, que transmets tu *exactement* à cette fonction ?






Car, pour que ton résulat soit mauvais, je suppose que tu
envoie TOUJOURS 7 valeurs, celle non renseignées valant zéro :-/

Donc je répète, que transmets tu à la fonction ?
ou, dit autrement, comment utilises-tu la fonction ??

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Publicité
Poster une réponse
Anonyme