Illustrons...
Sub calcul()
Dim cel1 As Range, pla As Range, coul&, i%, n%, dl%
dl = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row + 1
coul = RGB(79, 129, 189)
Set cel1 = ActiveSheet.Range("B5")
For i = cel1.Row To dl
If ActiveSheet.Cells(i, cel1.Column).Interior.Color = coul Or i = dl Then
n = i - cel1.Row
Set pla = cel1.Resize(n)
cel1.Offset(, 1) = WorksheetFunction.Average(pla)
cel1.Offset(, 2) = WorksheetFunction.StDev(pla)
cel1.Offset(, 3) = cel1.Offset(, 1) - cel1.Offset(, 2) * 2
cel1.Offset(, 4) = cel1.Offset(, 1) + cel1.Offset(, 2) * 2
cel1.Offset(, 1).Resize(, 4).NumberFormat = "0.00"
Set cel1 = cel1.Offset(n + 1)
End If
Next i
End Sub
En quelque sorte, module de calcul sur une colonne.
Il sera évidemment à adapter : si plusieurs colonnes à traiter, boucle pour passer d'une colonne à l'autre, qui encadrera ce module ; si plusieurs feuille, boucle pour passer d'une feuille à l'autre, encadrant l'ensemble précédent.
Et les indications ActiveSheet et B5 seront à remplacés par des identificateurs compatibles avec l'ensemble traité.
(De même, il me semble n'avoir vu que 2 colonnes pour les calculs, et non 4 dans le grand fichier... Mais il est possible de consigner les résultats tout à fait ailleurs (en ajoutant des éléments pour identifier la série traitée ultérieurement.)
Cordialement.