bonjour à tous

je suis actuellement en train de réaliser une feuille de calcul excel pour l'analyse de données issues d'analyses chimiques. Il y a deux nombreuses action à réaliser et de façon à automatiser cela je code en vba.

Mais je bloque sur un truc :

dans mon analyse je dois construire un tableau comme ceci :

yi / xi / xi² / yrl / yi-yrl /(yi-yrl)² / xi-xb /(xi-xb)
ech1
ech2
...
...
ech n
somme
moyenne

voici le code utilisé pour le remplissage des n lignes (certaines variable sont déclarées bien plus haut dans mon code)

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
Dim tabstat() As Double
   'dimensionnement du tableau'
    ReDim tabstat(1 To Nbrep, 1 To 8)
        'definition de x et y'
         Dim cely As Range
         Dim celx As Range
         Set celx = Range(Cells(2, 2), Cells(Nbrep + 1, 2))
 
 
 
    col = 3
 
          Set cely = Range(Cells(2, col), Cells(Nbrep + 1, col))
        Dim a As Double
        Dim b As Double
        a = WorksheetFunction.Slope(cely, celx)
        b = WorksheetFunction.Intercept(cely, celx)
      Dim xb As Long
      Dim yrl As Long
      Dim yb As Long
      Dim it As Integer
      Dim jt As Integer
 
  xb = WorksheetFunction.Average(celx)
  yb = WorksheetFunction.Average(cely)
 
      For it = 1 To UBound(tabstat, 1)
     tabstat(it, 1) = cely(it)
     tabstat(it, 2) = celx(it)
     tabstat(it, 3) = (celx(it)) ^ 2
     tabstat(it, 4) = a * celx(it) + b
     tabstat(it, 5) = tabstat(it, 1) - tabstat(it, 4)
     tabstat(it, 6) = (tabstat(it, 5)) ^ 2
     tabstat(it, 7) = tabstat(it, 2) - xb
     tabstat(it, 8) = (tabstat(it, 7)) ^ 2
     Next it
jusqu'ici tout fonctionne bien, mais j'aimerais pouvoir rajouter les deux lignes pour calculer les sommes et moyennes de chaque colonne
le code serait donc quelque chose du genre

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
redim preserve tabstat (UBound(tabstat, 1) +2 , 8)
    for jt =1 to Ubound(tabstat,2)
    tabstat (Ubound (tabstat,1)-1 , jt) = SOMME DES LIGNES PRECEDENTES (pour une colonne jt)
    tabstat (Ubound (tabstat,1)-1 , jt) = MOYENNE DES LIGNES PRECEDENTES (pour une colonne jt)
next jt
J'ai essayé en utilisant les worksheetFunction et applicationFunction mais j'ai un problème pour définir mes plages de données (celles-ci doivent pouvoir comporter un nombre de ligne variable)

J'espère avoir été assez précis et merci d'avance