J'ai fait quelques modifs dans le programme et voici le résultat :
Sub Notation()
Dim min As Integer, max As Integer
Dim PE(1), EE(0), SE(1)
Dim PA(0), EA(1), SA(1)
Dim i As Integer
Worksheets("Feuil1").Activate
min = 2
max = 9
EE(0) = "B"
PE(0) = "C"
PE(1) = "d"
SE(0) = "E"
SA(0) = "f"
EA(0) = "g"
PA(0) = "h"
EA(1) = "i"
SE(1) = "j"
SA(1) = "j"
For i = min To max
If Cells(i, "a") = "Eau" Then
Cells(i, "k").Value = Note(i, PE())
Cells(i, "l").Value = Note(i, EE())
Cells(i, "m").Value = Note(i, SE())
ElseIf Cells(i, "a") = "Ass" Then
Cells(i, "k").Value = Note(i, PA())
Cells(i, "l").Value = Note(i, EA())
Cells(i, "m").Value = Note(i, SA())
Next
End Sub
______________________________________________________
Function Note(lg As Integer, ParamArray Rng() As Variant) As Long
Dim i As Integer, j As Integer, n As Integer
Dim alpha, pi
Dim A, Am
'calcul du nombre de cellules
n = UBound(Rng) + 1
'calcul de l'angle
pi = 4 * Atn(1)
alpha = 2 * pi / n
Debug.Print n
'définition de ma matrice M
Dim M()
ReDim M(n - 1, n - 1)
For i = 0 To n - 1
For j = 0 To n - 1
M(i, j) = 0
Next
Next
M(n - 1, 0) = 1
For i = 0 To n - 2
M(i, i + 1) = 1
Next
'definition du vecteur X
Dim X()
ReDim X(n - 1, 0)
For i = 0 To n - 1
X(i, 0) = ActiveSheet.Cells(lg, Rng(i).Value)
Next
'création de la tranposé de X
Dim TX()
Call Tvect(X, TX)
'quelques petits calculs
Dim p1(), p2()
Call PMAT(M(), X(), p1())
Call PMAT(TX(), p1(), p2())
A = 1 / 2 * Sin(alpha) * p2(0, 0)
Am = 1 / 2 * Sin(alpha) * 100 ^ 2 * n
Note = A / Am
End Function
__________________________________________________
Sub PMAT(A(), B(), C())
Dim i As Integer, j As Integer, k As Integer
Dim n As Integer, M As Integer, p As Integer
n = UBound(A, 2)
M = UBound(A, 1)
p = UBound(B, 2)
ReDim C(M, p)
For i = 0 To M
For j = 0 To p
For k = 0 To n
C(i, j) = C(i, j) + A(i, k) * B(k, j)
Next
Next
Next
End Sub
__________________________________
Sub Tvect(X(), TX())
Dim i As Integer, n As Integer
n = UBound(X, 1)
ReDim TX(0, n)
For i = 0 To n
TX(0, i) = X(i, 0)
Next
End Sub
Quand je le lance, le message d'erreur est le suivant :
"variable ou précédure attendue et non un module"
et la première occurence de "note" est surlignée dans la procédure notation
perso je ne vois pas trop où çà coince ....