Oui, là j'ai compris, enfin je crois :
Tu as juste besoin de changer la ligne suivante :
.Range(.Cells(81, 2), .Cells(81, LastCol)).FormulaR1C1 = "=SUMIF('Worksheets(2)'!R4C14:R39018C14,'Worksheets(3)'!R1C,'Worksheets(2)'!R4C22:R39018C22)/(R68C+R11C)"
de la même manière que tu initialises LastLig, il faut remplacer R39018 par R suivi du numéro de la dernière ligne de la colonne N.
On pourrait mettre la formule dans la formule, mais vu tes formules sur formules déjà en place, je ne sais pas ce que donnera le recalcul automatique dès que tu changera le nombre de cellulle utilisées dans la colonne N.
Donc, avec la formule dans la formule, cela donne :
.Range(.Cells(81, 2), .Cells(81, LastCol)).FormulaR1C1 = "=SUMIF('Worksheets(2)'!R4C14:R" & Worksheets(2).Range("N65535").End(xlUp).Row & "C14,'Worksheets(3)'!R1C,'Worksheets(2)'!R4C22:R" & Worksheets(2).Range("N65535").End(xlUp).Row & "C22)/(R68C+R11C)"
Si ton application le permet, tu peux le faire en 2 instructions :
1 2 3 4
|
Dim ref as long
ref = Worksheets(2).Range("N65535").End(xlUp).Row
.Range(.Cells(81, 2), .Cells(81, LastCol)).FormulaR1C1 = "=SUMIF('Worksheets(2)'!R4C14:R" & ref & "C14,'Worksheets(3)'!R1C,'Worksheets(2)'!R4C22:R" & ref & "C22)/(R68C+R11C)" |
Partager