Bonjour
Deux possibilités :
- On entre la formule en A2 et on remplit vers le bas sur la plage concernée (équivalent du menu
Feuille
▸Remplir les cellules
)
- On crée un tableau des formules à saisir et on l’entre directement dans la plage
Par exemple saisieFormule.ods :
Sub SaisieFormule()
dim oSheet as object, oCell as object, oRange as object
dim sFormule as string
dim tableauFormule(498) as variant
dim i as long
sFormule = "=$A$1*2"
oSheet = thiscomponent.sheets.getByName("Feuille1")
' Première solution'
oCell = oSheet.getCellRangeByName("A2")
oCell.Formula = sFormule
oRange = oSheet.getCellRangeByName("A2:A500")
oRange.fillSeries(com.sun.star.sheet.FillDirection.TO_BOTTOM,com.sun.star.sheet.FillMode.SIMPLE,0,0,0)
' Deuxième solution'
oRange = oSheet.getCellRangeByName("B2:B500")
for i= 0 to 498
tableauFormule(i)=array("=$A$1*2")
next i
oRange.FormulaArray=tableauFormule
End Sub
Cordialement