Bonjour,
j'ai trouvé par hasard que les paramètres des fonctions associées à une ou
plusieurs cellules sont des tableaux bidimentionnels directement
utilisables, il n'est donc pas nécessaire de faire des appels à des
fonctions de type getRows(), getCount() etc.
de l'Excel :
' Equivalent de SOMME.SI
Public Function SommeProduitSi(test As Range, colonne1 As Range, colonne2
As Range) As Double
Dim SPS As Double
Dim i as integer
SPS = 0
For i = 1 To test.Rows.Count
If test.Cells(i, 1).Value Then
SPS = SPS + colonne1.Cells(i, 1).Value * colonne2.Cells(i,
1).Value
End If
Next
SommeProduitSi = SPS
End Function
à VB OoO :
Public Function SommeProduitSi(test As Object , colonne1 As Object ,
colonne2 As Object ) As Double
Dim SPS As Double
Dim i as integer
' Xray.XRay test
SPS = 0
For i = LBound(test) To UBound(test)
If test(i,1) Then
SPS = SPS + colonne1(i,1) * colonne2(i,1)
End If
Next
SommeProduitSi = SPS
End Function
Merci pour votre aide à tous,
Olivier.