Bonjour,
Je viens par la présente demander l'aide sur le vba suivant:
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 = (MC.Offset(0, 3).Value + MC.Offset(0, 6).Value) / 2
End If
'Se position sur la cellule du dessous
Set MC = MC.Offset(1, 0)
Loop
End Sub
En J9 par exemple je devrais obtenir (F9+I9)/2 = 7,5
Or en F9 j'ai 15 et en I9 j'ai "Déf."
Voilà ma préoccupation
A toutes fins utiles, je joints le fichier d'essai