Fonction Sommeprod dans Vba Erreur #valeur

  • Initiateur de la discussion Initiateur de la discussion frite295
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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:
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+
 
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
 
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))"
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
671
  • Question Question
Microsoft 365 Code VBA
Réponses
7
Affichages
912
Réponses
9
Affichages
732
Réponses
12
Affichages
636
Retour