Tu as mal recopié ma correction. Tes ":" devraient être entre guillemets et il manque un "&" entre ta variable i et ce ":" (voir correction ci-dessous).
Attention aussi aux feuilles à laquelle se rattache chaque Range. J'ai modifié l'écriture de sorte que les Range qui commencent par "." sont rattachés à "Feuil1", les Range rattachés à "Feuil2" sont clairement écrit. Comme ça, pas besoin d'activer ou sélectionner une feuille, il suffit de préciser la feuille dans le code.
Evaluate est inutile, tu peux directement écrire le résultat dans la cellule.
Sub Silence1()
Dim derLigne As Long, i As Long
derLigne = Cells(Rows.Count, 1).End(xlUp).Row
With Sheets("Feuil1")
For i = 2 To derLigne
MsgBox ("F" & i)
Sheets("Feuil2").Cells(i, 7).Value = WorksheetFunction.SumIfs(.Range("F" & i & ":F" & derLigne), .Range("B" & i & ":B" & derLigne), Sheets("Feuil2").Range("G" & i))
Next i
End With
End Sub