Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Sommeprod/sumproduct en VBA sans formule

  • Initiateur de la discussion spider
  • Date de début
S

spider

Guest
Bonjour,

Quel beau week -end nous avons là :
il pleut, le temps est suicidaire tout comme moi qui après des heures de recherche sur internet, les archives du forum a envie de mourrir.

Mon problème ?

Oh rien juste une +!!<*@... de macro qui m'embête un peu.

A savoir,

Je souhaite simplemment utiliser la fonction sommprod ou sumproduct en vba.
1-Sans utiliser de cellule intermédiare
2-En faisnant un tri sur les valeurs additionnées grâce à un critère.
3-Mettre mon résultat dans un variable

En d'autre mots, si en excel je devais écrire :

=SOMMEPROD((A1:A10)*((B1:B10)='Titi'))

j'aurais la somme des Titi.

Eh ben... je veux pareil en VBA, mais je fais choux blanc depuis hier.

J'ai pensé utiliser la fonction
Application.WorksheetFunction.Sumproduct(range(A1:A10),range(B:B10))
Résultat : rien!


Voilà tout j'espère avoir été clair.

Merci.

Alec
 

Hervé

XLDnaute Barbatruc
Bonsoir

Une solution sans sommeprod, mais par boucle :

données en B, valeur à sommer en A résultat en C1


Option Explicit
Option Compare Text

Public Sub vev()
Dim c As Range

For Each c In Range('b1:b10')
If c.Value = 'titi' Then
Range('C1') = Range('C1') + c.Offset(0, -1)
End If
Next c

End Sub

Salut
 

myDearFriend!

XLDnaute Barbatruc
Bonsoir Spider, Hervé, le Forum.

Juste pour le fun car la solution d'Hervé est sans nul doute celle que j'aurais appliqué de toute façon...

On peut aussi faire :
Range('C1') = Evaluate('SumProduct(A1:A10 * (B1:B10 = ''Titi''))')
ou
Cordialement.
 

Spider

XLDnaute Nouveau
Hello,

Hervé, patrick, mydearfriend (j'adore ton pseudo)...

En effet la solution d'hervé est facilement mise en euvre...cependant au delà d'un certain nombre de critères ça ralentit le déroulement de la macro.

Même pour le fun ta solution me plait ...celle de patrick aussi d'ailleurs (c'est a même non? enfin pour le premier).

En bref comme d'hab, vous assurez.

Merci les gars.

Spider
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…