[VBA] Equivalent VBA de =SOMMEPROD(ABS(MaPlage))

Le
HD
Bonjour,

Pour faire la somme en valeur absolu d'une plage j'utilise la combinaison
des 2 fonctions SOMMEPROD et ABS en:
=SOMMEPROD(ABS(MaPlage))
En VBA, on calcul le SommeProd comme suit:
Application.SumProduct(MaPlage)
Mais dès que j'ajoute la fonction ABS ça ne l'accepte pas
J'ai essayé Application.SumProduct(Application.Abs(MaPlage)) et
Application.SumProduct(Abs(MaPlage)) mais j'obtiens un message d'erreur.
Je suppose que mon problème se situe dans l'imbrication des 2 fonctions

Auriez vous la solution ?

Merci d'avance
--
@+
HD
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LSteph
Le #22311381
Bonjour,

Ceci semble aller, tu écriras =sab()

Function sab()

sab = [SumProduct((Abs(b2:b11)))]

End Function

'LSteph

On 29 juin, 14:50, "HD"
Bonjour,

Pour faire la somme en valeur absolu d'une plage j'utilise la combinaison
des 2 fonctions SOMMEPROD et ABS en:
=SOMMEPROD(ABS(MaPlage))
En VBA, on calcul le SommeProd comme suit:
Application.SumProduct(MaPlage)
Mais d s que j'ajoute la fonction ABS a ne l'accepte pas...
J'ai essay Application.SumProduct(Application.Abs(MaPlage)) et
Application.SumProduct(Abs(MaPlage)) mais j'obtiens un message d'erreur.
Je suppose que mon probl me se situe dans l'imbrication des 2 fonctions.. .

Auriez vous la solution ?

Merci d'avance
--
@+
HD
LSteph
Le #22311371
////ce qui reviendrait à ceci (autre ex enn macro)

Sub msab()
MsgBox Evaluate("SumProduct((Abs(b2:b11)))")
End Sub

A noter que les crochets dans l'exemple précédent se substituaient
à l'évaluation d'une expression entre guillemets.

En réalité le sommeprod VBA n'a pas a priori la même faculté
matricielle que celui d'Excel
l'astuce ici employée vise à l'utiliser dans VBA .

--
LSteph

On 29 juin, 14:50, "HD"
Bonjour,

Pour faire la somme en valeur absolu d'une plage j'utilise la combinaison
des 2 fonctions SOMMEPROD et ABS en:
=SOMMEPROD(ABS(MaPlage))
En VBA, on calcul le SommeProd comme suit:
Application.SumProduct(MaPlage)
Mais d s que j'ajoute la fonction ABS a ne l'accepte pas...
J'ai essay Application.SumProduct(Application.Abs(MaPlage)) et
Application.SumProduct(Abs(MaPlage)) mais j'obtiens un message d'erreur.
Je suppose que mon probl me se situe dans l'imbrication des 2 fonctions.. .

Auriez vous la solution ?

Merci d'avance
--
@+
HD
HD
Le #22321121
Un grand MERCI à toi LSteph

En plus avec 2 méthodes différentes... c'est sympa. ça permet toujours d'en
apprendre un peu plus... lol

J'ai réadapté un peu la fonction en :
Function msab(Col1, Li1, Col2, Li2)
MsgBox Evaluate("SumProduct((Abs(" & Cells(Li1,Col1).Address & ":" &
Cells(Li2, Col2).Address & ")))")
End Function



--
@+
HD
Publicité
Poster une réponse
Anonyme