Fonction PolyA d'excel sur vba
Bonjour,
Je suis débutant sur vba et j'ai un petit soucis avec une fonction d'excel que je souhaiterais intégrer dans une macro vba.
En gros j'ai une feuille de calcul remplie de données (des mesures concernant des véhicules), en sachant que pour un seul véhicule, qui est repéré par un numéro, j'ai plusieurs dizaines de lignes de données (quantité qui varie selon les véhicules).
Donc je souhaiterais appliquer la fonction polyA avec une boucle, me permettant ainsi d'avoir le coef recherché pour chacun des véhicules.
La fonction polyA permet de calculer les coefficients d'une courbe par la méthode des moindres carrés. Dans mon cas je veux une droite horizontale donc un polynome de degré 0.
4 parametre doivent etre entrés pour cette fonction :
Mat x : la colonne des abcisses
Mat y : la colonne des ordonnées
N : le degré du polynome (ici 0)
I : un coefficient qui vaut 1 par defaut
C'est facile d'utiliser ceci directement sur excel mais je ne sais pas comment rentrer ces parametres dans vba.
Voici mon code
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 38 39 40 41 42 43 44 45 46 47 48 49 50 51
| Sub PolyA()
Dim index As Long
Dim nb As Integer
Dim start As Long (ligne de début pour un vehicule)
Dim fin As Long (ligne de fin pour le meme vehicule)
Dim Val As Integer
index = 2
nb = 0
start = 2
fin = 2
Val = 0
Dim nbligne As Long
nbligne = 66000
Do
Val = Cells(index, 2).Value
Do
index = index + 1
nb = nb + 1
Loop While Cells(index, 2).Value = Val
If Cells(index, 2).Value = "" Then
nb = nb - 1
End If
fin = start + nb - 1
Dim coef As Long
coef = polya((start,7);(fin,7):(start,11);(fin,11);0;1)
Next
Cells(start, 12).Value = coef
start = index
nb = 0
If IsEmpty(Cells(index, 2)) Then
index = nbligne + 1
End If
Loop While index < nbligne
End Sub |
DOnc voilà si quelqu'un pouvait eclairer ma lanterne sur cette fonction ca m'aiderait grandement.
J'espere avoir été clair, merci d'avance