Problème avec fonction VBA
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:
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...