Fonction Excel en VBA

Bonjour tout le monde,

Je ne parviens pas à recopier la formule suivante en VBA.

Objectif : Compter le nombre moyen de valeurs inférieures à 0 dans la plage D4:D1004

Il y a bien l'enregistreur de macro mais j'aimerais me débrouiller sans.

Avec mon code en VBA j'ai l'erreur suivante : Incompatibilité de type (Erreur 13)

Voici la formule sur Excel (qui fonctionne) :

=ABS((SOMME((D4:D1004<0)*(D4:D1004))/NB.SI(D4:D1004;"<0")))

Voici mon code VBA:

Dim i As Double Dim j As Double j = WorksheetFunction.CountIf(Range("D4:D1004"), "<" & 0) i = Abs(WorksheetFunction.Sum(("D4:D1004" < 0) * ("D4:D1004")) / j)

Je vous remercie par avance.

Bonjour,

à tester,

Sub test()
f = "=ABS((SUM((D4:D1004<0)*(D4:D1004))/COUNTIF(D4:D1004,""<0"")))"
r = Evaluate(f)
End Sub

Cela fonctionne et je vous en remercie.

Bonne journée.

Rechercher des sujets similaires à "fonction vba"