Re : Remplacer une formule sommeprod en code vba
Oops désole, c'est vrai que j'ai pas été précis. La formule sommeprod citée est, à l'origine, dans la feuille PROD celulle B6.
Elle me donne le nombre de "validé" ('Conseiller'!H7:H500) du conseiller à la date ('PROD'!B4) si le type (A7:A500) est = à "PROD A"
J'avais essayé de faire une macro trouvé sur le forum que j'ai mise dans le module 1 :
Public Sub UpdateNomDefini()
Dim Rng As Range, L As Integer
With Worksheets("VANDERHAEGHE Marine")
L = .Range("D500").End(xlUp).Row
' Set Rng = .Range("A1:Y" & L)
' Rng.Name = "BD"
Set Rng = .Range("A7:A" & L)
Rng.Name = "ColA"
Set Rng = .Range("D7
" & L)
Rng.Name = "ColD"
Set Rng = .Range("F7:F" & L)
Rng.Name = "ColF"
End With
Set Rng = Nothing
End Sub
Public Sub Calcule()
Dim L As Long, DerL As Long, E As String, B As String, C As String
Application.ScreenUpdating = False
With Worksheets("DMT PARC")
DerL = .Range("D65536").End(xlUp).Row
A = .Range("A5"): B = .Range("B30"): F = .Range("F30"): K = .Range("K30"): O = .Range("O30"): T = .Range("T30"): X = .Range("X30"): V = .Range.IsEmpty
For L = 7 To DerL
E = .Range("E3"): C = .Range("C" & L)
.Cells(L, 5) = Evaluate("sumproduct((ColA=""" & A & """)*(ColD=""" & B & """)*(ColF=""" & V & """ ))")
E = .Range("F3")
.Cells(L, 6) = Evaluate("sumproduct((ColG=""" & E & """)*(ColI=""" & C & """)*(ColH=""" & B & """))")
E = .Range("G3")
.Cells(L, 7) = Evaluate("sumproduct((ColG=""" & E & """)*(ColI=""" & C & """)*(ColH=""" & B & """))")
E = .Range("H3")
.Cells(L, 8) = Evaluate("sumproduct((ColG=""" & E & """)*(ColI=""" & C & """)*(ColH=""" & B & """))")
Next
Application.ScreenUpdating = True
End With
MAis je vais essayé avec ta méthode si j'y arrive mieux!