Bonjour,
je cherche à passer en VB l'utilisation de la fonction SOMMEPROD afin de réaliser cette opération sur 3 plages de données.
Deux d'entre elles sont figées (à savoir Quantité et M_Unit dans le code qui suit) et la troisième peut varier en fonction de ma variable RN que je recherche dans la plage "I10:AZ10" de la feuille "Données".
et bien sûr cela ne fonctionne pas. Je ne sais pas où peut se situer l'erreur... Lorsque je nomme mes plages peut-être?
Si quelqu'un peut m'aider à régler ce problème, je lui en serait reconnaissant.
Cordialement
je cherche à passer en VB l'utilisation de la fonction SOMMEPROD afin de réaliser cette opération sur 3 plages de données.
Deux d'entre elles sont figées (à savoir Quantité et M_Unit dans le code qui suit) et la troisième peut varier en fonction de ma variable RN que je recherche dans la plage "I10:AZ10" de la feuille "Données".
Code:
Function A_Panier(RN As String) As Double
Dim j As Integer
Dim Cel As Range
Dim Plage As Range
Dim Quantité As Range
Dim M_Unit As Range
j = 0
With Sheets("Données")
Set Quantité = .Range("C11:C27")
Set M_Unit = .Range("D11:D27")
For Each Cel In .Range("I10:AZ10")
If Cel.Value = RN Then
j = Cel.Column
Plage = .Range(Cells(11, j), Cells(27, j))
Exit For
End If
Next Cel
End With
A_Panier = SumProduct(Quantité * M_Unit * Plage)
End Function
et bien sûr cela ne fonctionne pas. Je ne sais pas où peut se situer l'erreur... Lorsque je nomme mes plages peut-être?
Si quelqu'un peut m'aider à régler ce problème, je lui en serait reconnaissant.
Cordialement