Formule R1C1 en VBA avec variable
Bonjour,
Je désire réaliser un calcul au niveau de la cellule P2, et ensuite récupérer le résultat de ce calcul afin de le faire afficher.
Voici mon code :
Code:
1 2 3
| Range("P2").Select
ActiveCell.FormulaR1C1 = _
"=SUMIFS(BDD!R3C3:R1048576C3,BDD!R3C1:R1048576C1,"">=""&RC[-1],BDD!R3C1:R1048576C1,""<=""&R[-1]C[-1]+1)" |
Le souci c'est qu'il s'agit de la formule sans les variables à l'intérieur, du coup j'ai essayé de faire en fonction de la formule excel ci contre :
Code:
1 2
|
=SOMME.SI.ENS(BDD!$C$3:$C$1048576;BDD!$A$3:$A$1048576;">="&O2;BDD!$A$3:$A$1048576;"<="&O1+1) |
le but étant de transformer cette formule afin d'y intégrer les variables R1 et R2, ce qui me donne ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| e = "AY"
f = "BA"
WX1 = Application.ConvertFormula(Formula:=e & "3", FromReferenceStyle:=xlA1, ToReferenceStyle:=xlR1C1)
WX2 = Application.ConvertFormula(Formula:=e & "1048576", FromReferenceStyle:=xlA1, ToReferenceStyle:=xlR1C1)
R1 = WX1 & ":" & WX2
WC1 = Application.ConvertFormula(Formula:=f & "3", FromReferenceStyle:=xlA1, ToReferenceStyle:=xlR1C1)
WC2 = Application.ConvertFormula(Formula:=f & "1048576", FromReferenceStyle:=xlA1, ToReferenceStyle:=xlR1C1)
R2 = WC1 & ":" & WC2
'Calcul du total en Kg pour la période
With Sheets("Rapport Semaine")
Range("P2").Select
ActiveCell.FormulaR1C1 = _
"=SUMIFS(BDD!" & R2 & "," & "BDD!" & R1 & "," & "" >= "" & "RC[-1]" & "," & "BDD!" & R1 & "," & "" <= "" & "R[-1]C[-1]+1)1"
Total = "Label" & (j + 1)
.OLEObjects(Total).Object.Caption = Range("P2").Value
End With |
Le truc c'est que quand j'affiche, je trouve comme résultat ==> TRUE (je vois pas d'où peut venir le problème.... à moins que j'ai mal renseigner la synthaxe...)