CALCUL DE MOYENNE

codea Messages postés 94 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 6 août 2006 - 27 oct. 2005 à 17:17
boujman Messages postés 1 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 27 octobre 2005 - 27 oct. 2005 à 18:39
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/34340-calcul-de-moyenne

boujman Messages postés 1 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 27 octobre 2005
27 oct. 2005 à 18:39
Merci codea, étant un novice je vais l'étudier pour la comprendre et l'appliquer ensuite
codea Messages postés 94 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 6 août 2006
27 oct. 2005 à 17:22
oubli :

et pour finalement calculer ta moyenne, ton max et ton min :
Moyenne=CalculerMoyenne(TaTable)
Max=MiniMax(e_Max,Tatable)
Min=Min=MiniMax(e_Max,Tatable)
codea Messages postés 94 Date d'inscription dimanche 9 mai 2004 Statut Membre Dernière intervention 6 août 2006
27 oct. 2005 à 17:17
tu devrais calculer l,écart type aussi ... c toujours pratique ;o) ...

ton code est très long... imagine que tu entre tes notes dans un tableau. Ce serait plus simple qu'avec un input box et la tu peux te faire une fonction CalculMoyenne.... elle te retourne la moyenne ...
ca te ferais un code comme ca :

function CalculMoyenne(Tableau() as single)
for i=0 to ubound(Tableau)'on parcours tout le tableau
CalculMoyenne=CalculMoyenne+Tableau(i)
Next i
'On fais +1 si tu utilise l'index 0 du tableau, moi je l'utilise
CalculMoyenne=CalculMoyenne/(Ubound(tableau)+1)
end function

Fonction MiniMax: A mettre dans un module ... le code je l'ai pris sur codes source une fois il est pas de moi et il fonctionne bien:
Public Enum eMaxMin
e_Max = 0
e_Min = 1
End Enum

Public Function MiniMax(Choix As eMaxMin, tdd() As Variant, Optional debut As Integer, Optional fin As Integer)
'Cette fonction retourne le minimum ou le Maximum d'une liste d'éléments
'select case
Dim boucle As Long, VarTmp As Variant, ODC As Integer

'INITIALISE LES PARAMETRES OPTIONELS
If fin <0 Then fin UBound(tdd)
If debut < 0 Then debut = 0

Select Case Choix
Case e_Max
ODC = 1
Case Else
ODC = -1
End Select
VarTmp = tdd(debut) ' Initialisation de la valeur max

' Parcours de l'ensemble des arguments
For boucle = debut To fin
' Comparaison de l'élément courant avec le MiniMax
If ((VarTmp * ODC) < (tdd(boucle) * ODC)) Then VarTmp = tdd(boucle)
Next boucle
' Retourne l'élément le plus grand ou le plus petit
MiniMax = VarTmp
End Function

Ensuite tu pourrais aller chercher les données comme ca, je donne l'exemple sans validation:
dim TaTable() as single
Redim TaTable(0) 'Initialisation
Do While varSaisie <> ""
Redim TaTable(Ubound(TaTable)+1)
Tatable(Ubound(TaTable)) = InputBox("Entrer une note (laisser vide pour arrêter le comptage) :", "Note
Loop

Espérant que ca puisse t'aider a t'améliorer ...
@++
Rejoignez-nous