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
DOnc voilà si quelqu'un pouvait eclairer ma lanterne sur cette fonction ca m'aiderait grandement.
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
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
J'espere avoir été clair, merci d'avance
Partager