La modération vous a écrit: Pour la bonne tenue de ce forum, veillez à respecter la syntaxe des balises (première lettre en majuscule puis le reste en minuscules, le tout entre crochets). NOus l'avons fait pour vous.
Bonjour,
Je ressors à chaque période de l'année un tableau commencé il y a plus de 10 ans et chaque année, je suis confronté à de nouveaux soucis en raison des mises à jour de LO.
Cette année, j'ai une erreur
La portion de code incriminée est celle-ci :Erreur d'exécution BASIC.
Une exception s'est produite :
Type: com.sun.star.lang.IllegalArgumentException
Message: Given module is not a frame nor a window, controller or model..
Code : Tout sélectionner
dispatcher.executeDispatch(oFrame, ".uno:GoRightToEndOfData", "", 0, args1())
Une idée de l'origine du problème ?
La fonction complète :
Code : Tout sélectionner
Sub supprimerDonnees()
' Suppression de TOUT à partir de la ligne 8 (2ème ligne de données)
Dim oCelluleDebutSuppression As Object
oCelluleDebutSuppression = oFeuilleListe.getCellRangeByName("A8")
Dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Sel"
args1(0).Value = true
Dim dispatcher as Object
Dim oFrame As Object
oFrame = oDocument.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
' Sélection de la cellule contenant le premier numéro de dossard et déplacement à la fin des données.
oDocument.getCurrentController.Select(oCelluleDebutSuppression)
dispatcher.executeDispatch(oFrame, ".uno:GoRightToEndOfData", "", 0, args1())
dispatcher.executeDispatch(oFrame, ".uno:GoDownToEndOfData", "", 0, args1())
' Effacment des chaines, des valeurs et des formules
Dim Gomme As Long
Gomme = com.sun.star.sheet.CellFlags.STRING + com.sun.star.sheet.CellFlags.VALUE + com.sun.star.sheet.CellFlags.FORMULA + com.sun.star.sheet.CellFlags.DATETIME
Dim oZoneASupprimer
oZoneASupprimer = oDocument.CurrentController.Selection
oZoneASupprimer.ClearContents(Gomme)
' Supression des données modifiables de la 1ère ligne de donnée
oCelluleDebutSuppression = oFeuilleListe.getCellRangeByName("B7")
oDocument.getCurrentController.Select(oCelluleDebutSuppression)
dispatcher.executeDispatch(oFrame, ".uno:GoRight", "", 0, args1())
dispatcher.executeDispatch(oFrame, ".uno:GoRight", "", 0, args1())
dispatcher.executeDispatch(oFrame, ".uno:GoRight", "", 0, args1())
dispatcher.executeDispatch(oFrame, ".uno:GoRight", "", 0, args1())
oZoneASupprimer = oDocument.CurrentController.Selection
oZoneASupprimer.ClearContents(Gomme)
End Sub