Calcul de moyenne ( /20) (pour débutant)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 81 923 fois - Téléchargée 33 fois

Contenu du snippet

Petit programme permettant de calculer une moyenne par rapport a des notes que vont entrez.
Ce programme est plutot destiné aux débutant (premier pas en Vb).

Source / Exemple :


Option Explicit

Dim varSaisie As Variant ' Variable de saisie
Dim varCoeff As Variant ' Coéfficient
Dim dblNombre As Double ' Le nombre de note
Dim dblMax As Double ' La note maximum
Dim dblMin As Double ' La note minimum
Dim dblMoyenne As Double ' La moyenne général

Private Sub Form_Load()
  ' Initialisation des variables
  dblNombre = 0
  dblMoyenne = 0
  varSaisie = 0
  
  Do While varSaisie <> ""
    varSaisie = InputBox("Entrer une note (laisser vide pour arrêter le comptage) :", "Note N°" & dblNombre + 1)
    
    ' Verifie que le nombre se trouve bien entre 0 et 20
    If varSaisie >= 0 And varSaisie <= 20 Then
      
      ' Verifie si c'est la 1ere saisie ou pas
      If dblNombre = 0 Then
        ' Si oui, initialise les variables mini et maxi
        dblMax = varSaisie
        dblMin = varSaisie
      Else
        ' Si non :
        ' - Verifie si la note minimum est supérieur à la saisie
        If dblMin > varSaisie Then
          ' Si oui, modifie l'ancienne valeur minimum par la saisie
          dblMin = varSaisie
        End If
        
        ' - Verifie si la note maximum est inférieur à la saisie
        If dblMax < varSaisie Then
          ' Si oui, modifie l'ancienne valeur maximum par la saisie
          dblMax = varSaisie
        End If
      End If
      
      varCoeff = InputBox("Entrer le coéfficient ce la note N°" & dblNombre + 1, "Note N°" & dblNombre + 1, "1")
      
      ' Si le coeff est vide ou egal a 0,
      If varCoeff = "" Or varCoeff = "0" Then
        ' Alors affiche un message d'erreur
        MsgBox "Ce coéfficient est invalide !", vbExclamation, "Erreur"
      End If
      
      ' Incremente le nombre de note de 1
      dblNombre = dblNombre + 1
      ' Additionne la moyenne à la saisie
      dblMoyenne = dblMoyenne + (varSaisie * varCoeff)
    
    ' Si le nombre saisie n'est pas entre 0 et 20,
    Else
      ' et qu'il n'est pas vide (se qui signifirai l'arrêt du comptage),
      If varSaisie <> "" Then
        ' Alors affiche un message d'erreur
        MsgBox "Le chiffre doit être comprit entre 0 et 20", vbExclamation, "Erreur"
      End If
    End If
  Loop
  
  ' Si le nombre de note est superieur à 0
  If dblNombre > 0 Then
    ' Alors fait la moyenne
    dblMoyenne = dblMoyenne / dblNombre
    
  ' Sinon,
  Else
    ' La moyenne est egal à 0
    dblMoyenne = 0
  End If
  
  ' Affiche le resultat
  MsgBox "La moyenne est de : " & Round(dblMoyenne, 2) & "/20" & vbCrLf & _
    "La plus basse note est de : " & dblMin & vbCrLf & _
    "La plus haute note est de : " & dblMax & vbCrLf & _
    "Le nombre de note est de : " & dblNombre, vbInformation, "Résultat"
  ' Quitte le programme
  End
End Sub

A voir également

Ajouter un commentaire

Commentaires

econs
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
19 -
Propre, bien commenté. Et apparemment, çà fonctionne bien.
Bien joué.

Note: comme tu le précises bien, c'est pour super débutant. Mais il y a quelques confirmés qui peuvent s'inspirer de tes commentaires. :o)
econs
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
19 -
Proposition d'améiorations :

intSaisie ne devrait pas être de type Variant. C'est pas très beau çà .... Un type Double devrait être indiqué.

Mais dans ce cas, il faut que tu gères le cas où l'utilisateur rentre autre chose que des chiffres dans l'InputBox. ("A£%ç ...")
cs_moustachu
Messages postés
1079
Date d'inscription
jeudi 14 novembre 2002
Statut
Membre
Dernière intervention
1 janvier 2012
-
Tu peux également rajouter différents coef à tes notes.

++
Moustachu
klexus
Messages postés
11
Date d'inscription
mardi 10 août 2004
Statut
Membre
Dernière intervention
22 janvier 2005
-
c'est bien comme idée mais tu dois ameliorer ton code en lui ajoutant d'autres fonctionalité comme les coef et les note d'exam, certain lycées et collégiens peuvent utliser ton appli pour calculer leur moyenne de classe à la fin du trimestre ou du mois


;penses y
a +
klexus
cs_wolfcyber
Messages postés
78
Date d'inscription
dimanche 22 février 2004
Statut
Membre
Dernière intervention
24 juillet 2005
-
Merci econs pour ton conseil, je le change tout de suite.

Merci pour tout vos conseils, je vais ajouter la possibilite de mettre les coef ;-)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.