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

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

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.