Variable VBA dans une formule Excel
dadaking
-
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
j'ai un tableau qui recense toutes les factures émises depuis le début de l'année quelque soit leur devise d'émission (USD, EUR, JPY ...). Je veux créer des borderaux récapitulatifs par devise pour une période donnée (il ramène, par exemple la somme globale des facture en JPY pour la période du 01 mars au 15 mai). J'ai voulu passer par la formule "SUMPRODUCT" (sommeprod sous excel) mais je n'arrive pas lui faire reconnaitre les 2 dates (début et fin de période) que l'on rentre via un Userform (2 champs : txtDateDebut et txtDateFin). Si je ne maets pas de conditions de dates, ça marche très bien..
ma question est donc : comment faire pour qu'il me calcule la somme des factures pour une période donnée?
D'avance merci
j'ai un tableau qui recense toutes les factures émises depuis le début de l'année quelque soit leur devise d'émission (USD, EUR, JPY ...). Je veux créer des borderaux récapitulatifs par devise pour une période donnée (il ramène, par exemple la somme globale des facture en JPY pour la période du 01 mars au 15 mai). J'ai voulu passer par la formule "SUMPRODUCT" (sommeprod sous excel) mais je n'arrive pas lui faire reconnaitre les 2 dates (début et fin de période) que l'on rentre via un Userform (2 champs : txtDateDebut et txtDateFin). Si je ne maets pas de conditions de dates, ça marche très bien..
ma question est donc : comment faire pour qu'il me calcule la somme des factures pour une période donnée?
D'avance merci
A voir également:
- Variable VBA dans une formule Excel
- Formule moyenne excel plusieurs colonnes - Guide
- Formule excel si et - Guide
- Liste déroulante excel - Guide
- Formule somme excel ligne - Guide
- Mise en forme conditionnelle excel formule - Guide
10 réponses
j'y avais pensé mais ce n'est pas la solution : il faut que le résultat apparaisse dans différents tableaux...
Merci pour la suggestion
Merci pour la suggestion
j'ai mis :
a = cdate(txtDateDebut)
b = cdate(txtDateFin)
"=SUMPRODUCT(('[Fact_2009.xls]Individuelles'!R3C8:R165C8=""MUR"")*(a<='[Fact_2009.xls]Individuelles'!r3c1:r165c1<=b)*('[Fact_2009.xls]Individuelles'!R3C12:R165C12))"
les variables a et b sont des dates mais, apparemment, la formule SUMPRODUCT ne les reconnait pas. Saurais-tu pourquoi?
a = cdate(txtDateDebut)
b = cdate(txtDateFin)
"=SUMPRODUCT(('[Fact_2009.xls]Individuelles'!R3C8:R165C8=""MUR"")*(a<='[Fact_2009.xls]Individuelles'!r3c1:r165c1<=b)*('[Fact_2009.xls]Individuelles'!R3C12:R165C12))"
les variables a et b sont des dates mais, apparemment, la formule SUMPRODUCT ne les reconnait pas. Saurais-tu pourquoi?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
(a<='[Fact_2009.xls]Individuelles'!r3c1:r165c1<=b)*
--
il faut décomposer:
(zone<=b)*(zone>=a)
Cordialement, Michel
--
il faut décomposer:
(zone<=b)*(zone>=a)
Cordialement, Michel
je l'ai fait mais ça ne marche pas mieux : j'ai toujours "#NOM?" dans la cellule de destination.
"=SUMPRODUCT(('[Fact_2009.xls]Individuelles'!R3C8:R165C8=""MUR"")*('[Fact_2009.xls]Individuelles'!r3c1:r165c1<=b)*('[Fact_2009.xls]Garanties'!r3c1:r165c1>=a)*('[Fact_2009.xls]Individuelles'!R3C12:R165C12))"
"=SUMPRODUCT(('[Fact_2009.xls]Individuelles'!R3C8:R165C8=""MUR"")*('[Fact_2009.xls]Individuelles'!r3c1:r165c1<=b)*('[Fact_2009.xls]Garanties'!r3c1:r165c1>=a)*('[Fact_2009.xls]Individuelles'!R3C12:R165C12))"
Bonjour,
'[Fact_2009.xls]Individuelles'!r3c1:r165c1<=b
Excel ne connait pas a et b.
Michel t'avais dit de les mettre dans des cellules Range("C5") = CDate(TextBox1)
eric
'[Fact_2009.xls]Individuelles'!r3c1:r165c1<=b
Excel ne connait pas a et b.
Michel t'avais dit de les mettre dans des cellules Range("C5") = CDate(TextBox1)
eric
il me ramène bien les dates dans les cellules de destination mais la formule ne fait toujours rien...
range("f5")=cdate(txtDateDebut)
range("g5")=date(txtDateFin)
"=SUMPRODUCT(('[Fact_2009.xls]Individuelles'!R3C8:R165C8=""MUR"")*('[Fact_2009.xls]Individuelles'!r3c1:r165c1<=range("g5"))*('[Fact_2009.xls]Garanties'!r3c1:r165c1>=("f5"))*('[Fact_2009.xls]Individuelles'!R3C12:R165C12))"
range("f5")=cdate(txtDateDebut)
range("g5")=date(txtDateFin)
"=SUMPRODUCT(('[Fact_2009.xls]Individuelles'!R3C8:R165C8=""MUR"")*('[Fact_2009.xls]Individuelles'!r3c1:r165c1<=range("g5"))*('[Fact_2009.xls]Garanties'!r3c1:r165c1>=("f5"))*('[Fact_2009.xls]Individuelles'!R3C12:R165C12))"