Bonjour,
tu peux aussi améliorer ta fonction.
C'est plus efficace de rechercher la bonne ligne que de lire 2700 cellules, ça sera toujours ça de gagné.
Public Function Ctrl2(Compte&)
Dim c As Range, i As Long
For i = 1 To 9
With Sheets(i)
Set c = .Columns(1).Find(Compte, , xlValues, xlPart)
If Not c Is Nothing Then
Set c = .Columns(1).Find("S/TOTAL ", c, xlValues, xlPart)
If Not c Is Nothing Then Ctrl2 = Ctrl2 + .Cells(c.Row, "V")
End If
End With
Next i
End Function
Pour éviter le .volatile il faudrait lui passer en paramètres les colonnes A et V de tes 9 feuilles...
Autant faire le [T:T].calculate, ou bien coller ta formule ou le résultat à partir du programme principal.
Ceci dit quelque chose m'échappe.
Si tu es sûr de ton programme d'actualisation, quel besoin as-tu de faire un double contrôle ?
Et si tu n'en es pas sûr et bien débogue-le que les résultats soient justes.
C'était valable quand on faisait les totaux à la main le double contrôle.
eric