A l'aide du sujet
https://forum.openoffice.org/fr/forum/v ... =8&t=45208
et de l'excellent traitement de Piaf (modifié pour l'occasion au niveau des coordonnées cellule et feuille),
Code : Tout sélectionner
Option Explicit
Sub recopierFormule()
Dim oDoc as Object, maFeuille as Object, maCellule as Object, sel as Object
Dim curseur as Object, maZone as Object
Dim direction as Integer
oDoc = thisComponent
maFeuille = oDoc.Sheets(1)
maCellule = maFeuille.getCellRangeByName("E2")
oDoc.CurrentController.Select(maCellule)
sel = oDoc.CurrentSelection
curseur = maFeuille.createCursorByRange(sel)
curseur.collapseToCurrentRegion
maZone = maFeuille.getCellRangeByPosition(curseur.RangeAddress.EndColumn,curseur.RangeAddress.StartRow,curseur.RangeAddress.EndColumn,curseur.RangeAddress.EndRow )
direction = com.sun.star.sheet.FillDirection.TO_BOTTOM
maZone.fillAuto(direction,1)
End Sub
Le code de Piaf fonctionne en recopiant la formule contenue dans la première ligne de la dernière colonne jusqu'en bas du tableau quel que soit sa longueur.
Dans mon cas, la formule à recopier se trouve juste avant la colonne des commentaires et le code a pour effet de recopier "commentaires" dans la dernière colonne jusqu'en bas.
la formule me convient parfaitement car elle permet également de supprimer les parenthèses d'un nom et de faire des cumuls par client.
J aimerais donc que la formule soit recopiée jusqu'à la dernière ligne remplie ou jusqu'à la première ligne vide.
J'ai cherché avant de poster ici. je pense qu'il ne manque pas grand chose alors d'avance Merci de votre aide.