Re,
Ok dans ce cas oui VBA s'adapte mieux que la formule.
Ci-après le code revu, la seule chose à changer c'est la variable "PLAGE_SOMMEE" en haut, qui définit la colonne à sommer. Attention, il faut que ce soit une plage continue (style A1:A10, pas A1,A8,F7) sinon tu peux avoir des bugs.
Le reste s'adaptera automatiquement.
runTotal c'est un tableau qui va contenir, pour chaque cellule de la plage à sommer, la somme "courante", càd la somme des cellules pour les feuilles 6 à i.
Un tableau c'est une colonne Excel si tu veux (ou, pour être exact, une ligne, c'est pourquoi j'utilise Transpose) de longueur fixe (en l'occurrence dans le dernier code elle va de 1 à [le nombre de cellules dans la plage]).
Private Sub Worksheet_Activate()
Dim PLAGE_SOMMEE As String: PLAGE_SOMMEE = "Y7:Y109"
Dim runTotal() As Long
ReDim runTotal(1 To Range(PLAGE_SOMMEE).Count)
Dim curVals As Variant
Dim cell As Variant
Dim i As Long, j As Long
For i = 6 To ThisWorkbook.Worksheets.Count
curVals = WorksheetFunction.Transpose(ThisWorkbook.Worksheets(i).Range(PLAGE_SOMMEE).Value)
For j = LBound(runTotal) To UBound(runTotal)
runTotal(j) = runTotal(j) + curVals(j)
Next j
Next i
ThisWorkbook.Worksheets("Suivi_Stock").Range("I4").Resize(UBound(runTotal)).Value = _
WorksheetFunction.Transpose(runTotal)
End Sub