1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| Option Explicit 'Obligation de déclarer les variables
Const DebEtu_Cell = "C5"
'===================================================
'Calcul de notes pour les étudiants
'===================================================
Public Sub Calcul_Notes()
Dim MC As Range
'Se positionner sur le premier étudiant
Set MC = Range(DebEtu_Cell)
'Itérer vers le bas tant que la cellule est non vide
Do While Not IsEmpty(MC.Value)
'Calcul de la moyenne
If MC.Offset(0, 1).Value = "" And MC.Offset(0, 2).Value = "" Then
MC.Offset(0, 3).Value = "Déf."
ElseIf MC.Offset(0, 1).Value = "" Then
MC.Offset(0, 3).Value = MC.Offset(0, 2).Value
Else: MC.Offset(0, 3).Value = (MC.Offset(0, 1).Value) * 1 / 3 + (MC.Offset(0, 2).Value) * 2 / 3
End If
If MC.Offset(0, 4).Value = "" And MC.Offset(0, 5).Value = "" Then
MC.Offset(0, 6).Value = "Déf."
ElseIf MC.Offset(0, 4).Value = "" Then
MC.Offset(0, 6).Value = MC.Offset(0, 5).Value
Else: MC.Offset(0, 6).Value = (MC.Offset(0, 4).Value) * 1 / 3 + (MC.Offset(0, 5).Value) * 2 / 3
End If
If MC.Offset(0, 3).Value = "Déf." And MC.Offset(0, 6).Value = "Déf." Then
MC.Offset(0, 7).Value = "Déf."
Else: MC.Offset(0, 7).Value = Sum(MC.Offset(0, 3).Value And MC.Offset(0, 6).Value) / 2
End If
'
'Se position sur la cellule du dessous
Set MC = MC.Offset(1, 0)
Loop
End Sub |
Partager