XL 2013 [Résolu] Changer FormulaLocal par Evaluate

Lone-wolf

XLDnaute Barbatruc
Rebonjour à tous :)

J'essai envain de modifier une formule avec SOMMEPROD par Evaluate en suivant les exemples de Jacques Boisgontier , pourriez-vous me donner un coup de pouce s'il vous plaît. Merci d'avance

VB:
Option Explicit

Sub Somme_Prod()
Dim plage1 As String, plage2 As String, plage3 As String, critere As String, resultat

plage1 = [noms].Address
plage2 = [ccp].Address
plage3 = [bc].Address
critere = [I2]

resultat = Evaluate("Sumproduct((plage1=""" & critere & """)*(plage1 + plage3)")
'[F2].FormulaLocal = "=SOMMEPROD((noms=I2)*1; (ccp)+(bc))"
[F2] = resultat
'With [F2]
'.Value = .Value
'End With
End Sub
 

Pièces jointes

  • Classeur1.xlsm
    17.5 KB · Affichages: 32

Jacky67

XLDnaute Barbatruc
Et en mettant des variables comme dans l'exemple, comment tu écrit evaluate (xxx, xxx, xxx) ?
Re...
Bien que je ne n'en vois pas l'intérêt avec des plages déjà nommées
Essaye comme ceci
Résultat en G2
Code:
Sub Somme_Prod()
Dim plage1 As String, plage2 As String, plage3 As String, critere As String, resultat
plage1 = [noms].Address
plage2 = [ccp].Address
plage3 = [bc].Address
critere = [I2].Address
[F2] = [SUMPRODUCT((noms=I2)*(ccp+bc))]
'Ta demande
resultat = Evaluate("SUMPRODUCT((" & plage1 & "=" & critere & ")*(" & plage2 & "+" & plage3 & "))")
[g2] = resultat
End Sub
 

Pièces jointes

  • Lone.xlsm
    21.4 KB · Affichages: 36
Dernière édition:

Jacky67

XLDnaute Barbatruc
Re...
Oui, pour les noms définis que je savais matriciel par défaut, mais j'ignorais l'application à VBA.
Faute, certainement d'avoir essayé.
Chose faite maintenant, reste plus qu'à y penser, et çà ....... c'est pas gagné.
Merci.
 
Dernière édition:

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T