Je débute avec les macros office. J'ai trouvé sur ce forum de l'aide pour mon petit projet en copiant ici et là des bouts de codes dont le suivant :
Code : Tout sélectionner
Sub ExoCopierFeuilleParLien
dim PysFeuille as object
dim PysURL as string, PysFilter as string, PysOpt as string
dim PysMode as integer
'La feuille qu'on veut remplacer
PysFeuille = thisComponent.sheets().getByName("")
'Paramètres nécessaires à la copie
PysFilter = "Text - txt - csv (StarCalc)"
PysOpt = "" 'Adapter en fonction du fichier CSV
PysMode = com.sun.star.sheet.SheetLinkMode.NORMAL
'Insertion de la feuille par "lien"
' PysFeuille.link(PysURL, "", PysFilter, PysOpt, PysMode)
PysFeuille.link("https://forum.openoffice.org/fr/forum/viewforum.php?f=1", "", PysFilter, PysOpt, PysMode)
'Déconnection du lien
PysFeuille.setLinkSheetName("")
PysFeuille.LinkDisplayName
PysFeuille.LinkUrl=""
PysFeuille.setLinkMode(com.sun.star.sheet.SheetLinkMode.NONE)
End Sub
J'ai recopié le code pour le mettre dans mes macros, et l'ai adapté (changement d'Url et nom de feuille), et j'obtiens ce message d'erreur en pointant la ligne PysFeuille.link(...) :
J'ai créé une feuille nommée ARemplacer dans mon classeur, ainsi je peux lancer cette macro depuis le document d'origine de la macro, depuis un nouveau document ou depuis mon classeur. La macro fonctionne avec le document d'origine, avec un document nouvellement créé mais pas avec mon classeur.Erreur d'exécution BASIC.
Une exception s'est produite :
Type: com.sun.star.container.NoSuchElementException
Message: .
J'ai enregistré mon classeur sous un autre nom de fichier, j'ai supprimé les feuilles une part une pour voir si la macro fonctionnerai, j'en suis arrivé à tout supprimer, j'ai toujours le même message d'erreur.
Malgré le message d'erreur, des fois je fini pas obtenir quand même le document sur ma feuille, mais après impossible de fermer le document car le lien n'est pas fermé.
Avez vous une idée de l'origine du problème ?






