Fonction Sommeprod dans Vba Erreur #valeur

frite295

XLDnaute Nouveau
Bonjour à tous,

Je bloque depuis 4 jours sur une fonction sommeprod que j'aimerais mettre en vba.

J'ai en effet des données à recuperer d"une feuille "bd" à retranscrire sur la feuille "revue".

Il y a trois arguments : le type, le lieu, l'année. J'ai donc mis ceci mais ma fonction de marche pas. J'ai une erreur #valeur dans la case correspondante...

Merci de votre aide

Code:
Sub retour()
'sur quels feuillets travaille-t-on?
Dim BD As Worksheet
Set BD = ActiveWorkbook.Sheets("bd")
Dim Revue As Worksheet
Set Revue = ActiveWorkbook.Sheets("revue")

'sur quels plages recupere-t-on les données?
With Sheets("BD")
Dim Flux, Reseau, Annee, Lieu, Nombre_de_flux As Range
Set Type = Range("A2").End(xlDown)
Set Annee = Range("E2").End(xlDown)
Set Lieu = Range("c2").End(xlDown)
Set nombre_dacte = Range("g2").End(xlDown)
End With

'calculs avec sommeproduct du nombre d'acte par type, année, lieu 
With Sheets("revue")
Revue.Cells(8, 4) = Application.Evaluate("=SumProduct(type=(""A""))*(Lieu=(""france""))*(Annee=(""2012"")),(nombre_dacte))"
End With
 
Dernière édition:

ralph45

XLDnaute Impliqué
Re : Fonction Sommeprod dans Vba Erreur #valeur

Bonjour à tous,

N'y aurait-il pas une parenthèse ouvrante manquante juste après SumProduct ?
SumProduct((type=(""A""))*...

Et n'y aurait-il pas des parenthèses en trop ?
SumProduct((type=(""A""))*...

De sorte que :
Code:
SumProduct((type=""A"")*...

A+
 

frite295

XLDnaute Nouveau
Re : Fonction Sommeprod dans Vba Erreur #valeur

Pour les parenthèses, j'ai vérifié et j'ai essayé sans mais ça revient au même.

Ensuite j'ai mis la formule dans la cellule (qui marche) pour la retranscrire sur vba :

Code:
Revue.Cells(5, 4) = Application.WorksheetFunction.SumProduct(("Volume!$A$2:$A$856"=""A"")*("Volume!$C$2:$C$856"=""france"")*("Volume!$E$2:$E$856"=2012),("Volume!$G$2:$G$856"))

Après ça, un message du debuggeur qui detecte un problème avec la zone ""écrits"".

Ca vient peut etre des matrices que j'ai déclaré, je ne comprend pas.

Merci
 

frite295

XLDnaute Nouveau
Re : Fonction Sommeprod dans Vba Erreur #valeur

C'est bon j'ai resolu le souci en passant par l'enregistreur de macro (enregistrer une macro-selection la formule-entrée) pour la recuperer sur vba.

Le code etait
Code:
Revue.Cells(5, 4).FormulaR1C1 = _
        "=SUMPRODUCT((Volume!R2C1:R856C1=RC[-2])*(Volume!R2C2:R856C2=RC[-3])*(Volume!R2C5:R856C5=R4C3)*(Volume!R2C3:R856C3=""France""),(Volume!R2C7:R856C7))"
 

Discussions similaires

Réponses
12
Affichages
245
Réponses
1
Affichages
164
Réponses
2
Affichages
228

Statistiques des forums

Discussions
312 178
Messages
2 085 980
Membres
103 079
dernier inscrit
sle