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...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
LSteph
Bonjour,
Ceci semble aller, tu écriras =sab()
Function sab()
sab = [SumProduct((Abs(b2:b11)))]
End Function
'LSteph
On 29 juin, 14:50, "HD" wrote:
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
Bonjour,
Ceci semble aller, tu écriras =sab()
Function sab()
sab = [SumProduct((Abs(b2:b11)))]
End Function
'LSteph
On 29 juin, 14:50, "HD" <h...@anti.spam.fr> wrote:
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.. .
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
////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" wrote:
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
////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" <h...@anti.spam.fr> wrote:
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.. .
////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" wrote:
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
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
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
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