Bonjour @cricriilyenadeja
Je déduis de la question que tu utilises l’enregistrement de macro. Il y aurait d’autres moyens de procéder mais pour ne pas nous écarter de ce que tu connais tu peux faire quelque chose comme ceci :
oSheet = thiscomponent.sheets.getByName("Feuille1")
sNbLig = oSheet.getCellRangeByName("F25").string
- La première ligne récupère dans la variable
oSheet
la feuille nommée Feuille1 du document courant
- La ligne suivante récupère dans la variable
sNbLig
ce qui figure dans la cellule F25
Les noms de variables sont libres (moyennant le respect de quelques normes).
On peut ensuite utiliser le nombre de lignes à copier comme ceci :
args1(0).Value = "$Feuille1.$A$1:$E$" & sNbLig
Ce qui donne quelque chose comme :
sub CopierVariable
dim oSheet as object
dim sNbLig as string
dim document as object
dim dispatcher as object
oSheet = thiscomponent.sheets.getByName("Feuille1")
sNbLig = oSheet.getCellRangeByName("F25").string
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "ToPoint"
args1(0).Value = "$Feuille1.$A$1:$E$" & sNbLig
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
args1(0).Value = "$Feuille1.$A$15"
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
end sub
Voir le classeur CopierVariable.ods
Cordialement