[Résolu] sommeprod/sumproduct avec vba. MERCI

jrc11

XLDnaute Nouveau
Bonjour à tous,

Suite à l'utilisation de la fonction someprod dans un fichier excel et au temps de calcul trop long, je souhaite rajouter un bouton qui met à jour les données uniquement lorsque l'on clique dessus.

Je passe donc par du code simple avec vba mais je bloque sur la partie qui m'intéresse à savoir l'utilisation de sommeprod ou sumproduct avec l'utilisation d'une variable à la place d'une cellule.

Je vous met le fichier en pièce jointe, ça sera sans doute plus compréhensible pour tous :confused::confused::confused:

merci pour votre aide;)
 

Pièces jointes

  • essais mis en place macro sommeprod.xlsm
    24.3 KB · Affichages: 98
Dernière édition:

Fred0o

XLDnaute Barbatruc
Re : sommeprod/sumproduct avec vba

Bonjour jrc11,

Je te propose de modifier ton code de la manière suivante :
VB:
Dim Var1, Var2
Var1 = [D16]
Var2 = [C17]
For x = ld To lf
   For y = 4 To 5
  'Je souhaite que C17 et D16 soient des variables et non une cellule
   Cells(x, y).FormulaLocal = "=SOMMEPROD((Données!$C$3:$C$6=""" & Var2 & """)*(Données!$D$2:$G$2=""" & Var1 & """)*(Données!$D$3:$G$6))"
    'Je ne veux pas avoir la formule dans les cases mais bel et bien la valeur d'où l'utilisation de la ligne ci-dessous
   'Cells(x, y) = Cells(x, y).Value
     'Cells(x, y).FormulaLocal = "=WorksheetFunction.SumProduct((C3:C6=C17) * (D2:G2=D16) * (D3:G6)"
   Next y
    
Next x

A+
 

jrc11

XLDnaute Nouveau
Re : sommeprod/sumproduct avec vba

Exact Exact Exact:D:D

Merci Fred0o avec tes conseils, ça marche!!

Petite questions, pourquoi tous ces 3 """ lorsqu'on utilise une variable avec sommeprod:

Cells(x, y).FormulaLocal = "=SOMMEPROD((Données!$C$3:$C$6=""" & Var2 & """)*(Données!$D$2:$G$2=""" & Var1 & """)*(Données!$D$3:$G$6))",

je n'aurai jamais trouvé seul....
 

Discussions similaires

Réponses
4
Affichages
265
Réponses
3
Affichages
395
  • Résolu(e)
XL pour MAC VBA Excel
Réponses
3
Affichages
239

Statistiques des forums

Discussions
312 095
Messages
2 085 249
Membres
102 836
dernier inscrit
Ali Belaachet