j'ai voulu continuer mon fichier et écrire une macro sans "Dispatcher" en m'inspirant de la solution donnée sur un autre post https://forum.openoffice.org/fr/forum/v ... =8&t=64125
Alors voici mon problème j'ai une erreur d'exécution avec variable non défini sur PasteRange, alors que pour moi la variable est défini. Enfin je suppose que c'est le programme qui a raison.
Code : Tout sélectionner
Sub CopyHistoversDonnees
Dim data, fa, Doc, Sheets, SheetCopy, SheetPaste, zone, srch, CopyAddress, PasteRange
Dim trouv as variant, lig as integer
Doc = ThisComponent
Sheets = Doc.Sheets()
SheetCopy = Sheets.getByName ("Résultat Simple")
SheetPaste = Sheets.getByName("Données")
CopyRange = SheetCopy.getCellRangeByName("D35:D36")
zone =SheetPaste.getCellRangeByName("E21:E1000")
srch = zone.createSearchDescriptor
with srch
.SearchString = SheetCopy.getCellRangeByName("D6").string 'determine la recherche par E_Ens
.SearchWords = true
.SearchType = 1
End with
trouv = zone.FindFirst(srch)
if isNull(trouv) then
msgbox("J'ai pas trouvé l'établissement dans Données, il n'y aura pas d'enregistrement!")
else
lig = trouv.CellAddress.row
'ThisComponent.currentController.Select(SheetPaste.GetCellByPosition(0,lig)
end if
'PasteRange = SheetPaste.GetCellByPosition(32,lig) 'decale ma cellule avant de coller
PasteRange = ThisComponent.currentController.Select(SheetPaste.GetCellByPosition(33,lig) 'decale ma cellule avant de coller
fa = createUnoService("com.sun.star.sheet.FunctionAccess")
data = fa.callFunction("TRANSPOSE", Array(CopyRange))
PasteRange.DataArray = data 'erreur d'execution
End Sub