Re... si je peux me permettre... h2so4 a donné le code :
For k = 9 To 17
ws3.Cells(j + 1, k) = Round(Application.Average(ws3.Cells(2, k).Resize(j - 1, 1)), 2)
Next k
et toi tu as mis dans ton fichier :
For k = 2 To drn2
ws3.Cells(j + 1, k) = Round(Application.Average(ws3.Cells(2, k).Resize(j - 1, k)), 2)
Next k
l'erreur vient de là... k représente le numéro de colonne.... pas de ligne.... et fait le calcul de la moyenne de la colonne 9 (I) à la colonne 17 (Q)
en isolant la partie qui fait la moyenne dans une sub de test :
Sub test()
Set ws3 = ActiveSheet
j = 9
For k = 9 To 17
ws3.Cells(j + 1, k) = Round(Application.Average(ws3.Cells(2, k).Resize(j - 1, 1)), 2)
Next k
End Sub
cela donne le bon résultat
Fred