Bonjour à tous !

J'ai débuté VBA hier (je pars absolument de 0 !) et je bloque déjà sur un petit exercice. Pourriez-vous m'aider à comprendre pourquoi ça ne marche pas s'il vous plait ?


Les données :

Je dispose d'une plage X de notes, il a 2 lignes et 2 colonnes.

J'ai une plage N de coefficients, 2 lignes 2 colonnes aussi

Et je dois créer une fonction sous VBA me calculant la moyenne arithmétique avec ces deux tableaux.

Il nous a été demandé d'inclure dans la fonction un test pour vérifier que le nombre de lignes et de colonnes sont compatibles.

Voici mon programme (c'est la dernière des 35 versions que j'ai testées )

Le message d'erreur qui apparait me dit : "Référence de variable de contrôle incorrecte dans Next"

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
34
35
36
37
Function moyarit(X As Range, N As Range) As Double
 
Dim c As Integer
Dim l As Integer
Dim i As Integer
Dim j As Integer
Dim moy As Double
Dim k As Integer
Dim coeff As Integer
 
c = X.Columns.Count
l = X.Rows.Count
moy = 0
coeff = 0
 
Select Case True
    Case (X.Rows.Count = N.Rows.Count And X.Columns.Count = N.Columns.Count)
        For i = 1 To l
        For j = 1 To c
            moy = (moy + X.Cells(i, j) * N.Cells(i, j))
        Next i
        Next j
    End Select
 
For i = 1 To l
For j = 1 To c
 
    coeff = coeff + N.Cells(i, j)
 
Next i
Next j
 
 
moyarit = moy / coeff
 
 
End Function

Ca serait très gentil si quelqu'un pouvait m'aider, je galère depuis des heures...