VBA - Variable à figer dans formule R1C1 ?

  • Initiateur de la discussion Initiateur de la discussion Int0x
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Int0x

XLDnaute Occasionnel
Bonjour,

Petite questions sûrement bête.
Je suis en train de faire une macro qui va calculer des sommeprod, délimitées par un nombre de ligne sur un autre onglet.

J'ai donc:
i = Sheets("Calculs").Range("A65000").End(xlUp).Row
et
Sheets("Temps").range("E4").Select

(ActiveCell.FormulaR1C1 = _
"=SUMPRODUCT((Calculs!R11C27:R[+" & i & "]C27=Temps!RC[-2])*(Calculs!R11C25:R[+" & i & "]C25)*(Calculs!R11C3:R[+" & i & "]C3)/(Calculs!R11C8:R[+" & i & "]C8))"

Si je fais un msgbox de i, il me renvoie 705 (qui est la bonne valeur si je regarde sur l'onglet "Calculs").

Le problème, c'est que cette macro m'écrit en E4 (de l'onglet "Temps"):
=SOMMEPROD((Calculs!$AA$11:$AA709=Temps!A4)*(Calculs!$Y$11:$Y709)*(Calculs!$C$11:$C709)/(Calculs!$H$11:$H709))

2 soucis:
- Il me marque $AA709 au lieu de 705
- Il ne me "fige" pas cette valeur (la ligne suivante sera 710, puis 711, etc...)

Voilà ce que j'aurais souhaité:
=SOMMEPROD((Calculs!$AA$11:$AA$705=Temps!A4)*(Calculs!$Y$11:$Y$705)*(Calculs!$C$11:$C$705)/(Calculs!$H$11:$H$705))
Auriez-vous une idée ?
Comment faire pour intégrer une variable i, tout en la figeant dans les R1C1 ?
Par avance merci
 
Dernière édition:
Re : VBA - Variable à figer dans formule R1C1 ?

Bonjour Int0x, salut Pascal,

En notation A1 la formule est en effet plus compréhensible :

Code:
Dim cel As Range, ad As String, i As Long
Set cel = Sheets("Temps").Range("E4")
ad = cel.Offset(, -2).Address(0, 0)
i = Sheets("Calculs").Range("A65000").End(xlUp).Row
cel.Formula = _
"=SUMPRODUCT((Calculs!AA11:AA" & i & "=Temps!" & ad & ")*Calculs!Y11:Y" & i & "*Calculs!C11:C" & i & "/Calculs!H11:H" & i & ")"
Nota : les signes $ ne sont utiles que si l'on copie/colle la formule.

De plus rappelez-vous que les Select sont à proscrire en VBA...

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
1 K
H
Réponses
19
Affichages
6 K
Retour