Bonsoir Dranreb,
La fonction SommeSi de ton post 159 focntionne correctement. Elle prend seulement une condition :
TS(L, 5) = TS(L, 5) + DT.SommeSi(nC_OP, "PTR", nC_BUD).
Pour plusieurs conditions, j'ai le résultat correcte avec plusieurs lignes de codes.
Pour simplifier, Est-il possible de modifier cette fonction pour accepter un ou plusieurs critères par ex :
TS(L, 5) = TS(L, 5) + DR.SommeSi(nC_OP, "PTR", nC_RT, "TER", nC_BUD)
Public Function SommeSi(ByVal CR As Long, ByVal V, ByVal CS As Long) As Double
Dim Mmbr As SsGr, Détail
If TypeOf Co(1) Is SsGr Then
For Each Mmbr In Co: SommeSi = SommeSi + Mmbr.SommeSi(CR, V, CS): Next Mmbr
Else: On Error Resume Next
For Each Détail In Co: If Détail(CR) = V Then SommeSi = SommeSi + Détail(CS)
Next Détail: End If
End Function
Merci d'avance
KIM