Problème avec fonction VBA

Rookie57

XLDnaute Nouveau
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.

On doit également utiliser les fonction Range.Count etc

Il doit y avoir un moyen de le faire plus vite, mais là on est encadré sur le cheminement pour intégrer des notions je pense.


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"

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...
 

Discussions similaires

Réponses
11
Affichages
304
Réponses
29
Affichages
966

Statistiques des forums

Discussions
312 336
Messages
2 087 389
Membres
103 534
dernier inscrit
Kalamymustapha