Fonction sommoprod dans VBA
Praljm
Messages postés
52
Statut
Membre
-
Praljm Messages postés 52 Statut Membre -
Praljm Messages postés 52 Statut Membre -
Bonjour,
Je souhaite traduire la fonction excel suivante en langaga vba :
=SOMMEPROD((ANNEE(A1:A1000)=E1)*(MOIS(b1:b1000)=F1)*(B1:B1000=G1)*(C1:C1000))
Merci d'avance pour votre aide
Cordialement,
Je souhaite traduire la fonction excel suivante en langaga vba :
=SOMMEPROD((ANNEE(A1:A1000)=E1)*(MOIS(b1:b1000)=F1)*(B1:B1000=G1)*(C1:C1000))
Merci d'avance pour votre aide
Cordialement,
4 réponses
-
Bonjour
Pourquoi ne pas utiliser l'enregistreur de macro, il le fera très bien, vous n'aurez plus qu'à récupérer la formule.
cdlt -
Bonjour,
Merci pour l'idée que je viens de concrétiser.
Cependant j'ai une variable à insérer...
Dim i As String
For i = 1 To 10 'nombre de lignes concernées
Range("J1").Select
ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((R[-9]C[-8]:R[-4]C[-8]=R[1]C1)*(R[-9]C[-7]:R[-4]C[-7]=""Oui"")*(R[-9]C[-6]:R[-4]C[-6]))"
Next i
End Sub
=> la partie =R[1]C1) est une variable texte située en cellule A2.
Merci pour l'aide !
Cdt -
Bonjour
1)- Créer votre variable:MaVariable="VotreVariable"
2)-Mettez votre formule en variable en y insérant la variable précédente:MaFormule="=SUMPRODUCT((R[-9]C[-8]:R[-4]C[-8]=" & MaVariable & ")*(R[-9]C[-7]:R[-4]C[-7]=""Oui"")*(R[-9]C[-6]:R[-4]C[-6]))"
3)- Appliquez à la cellule J1:Range("J1").FormulaR1C1 = MaFormule
En espérant que cela réponde à votre problème.
Cdlt -