[Résolu][Calc] objet VBA Workbooks inaccessible hors du document

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
momoghero
Fraîchement OOthentifié
Messages : 1
Inscription : 30 juin 2024 12:48

[Résolu][Calc] objet VBA Workbooks inaccessible hors du document

Message par momoghero »

Bonjour

Je me permet cette question après des heures de recherches sans succès
Je cherche à faire une macro vba sur libreoffice 7.3 qui fonctionne sur n'importe quel classeur

La macro en elle même est faite et fonctionne. Mais je n'arrive pas à la faire tourner dans la bibliothèque "mes macros". Elle ne marche que dans la bibliothèque d'un classeur test

Sur la capture d'écran, on voit la macro "min" dans le classeur test qui marche et la macro "mout" dans "mes macros" qui plante dès la première ligne alors que c'est le même script.

Je suppose qu'elle ne sait pas sur quel classeur s'exécuter. J'ai testé activeworkbook et autre sans succès.
J'ai vu parler de globalscope et de librairies mais ca me dépasse

Merci pour votre aide :)
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.3.5.2 (x64)
Windows 11 23H2
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9828
Inscription : 28 août 2010 08:45

Re: macro exécutable sur tous les classeurs

Message par micmac »

Bonjour et bienvenue,

Veuillez lire le bandeau rouge en haut de cette page et vous conformer aux règles de cette section :
  • Balise adéquate ;
  • suppression du terme macro qui est implicite ;
  • titre explicite.
Faute de quoi le sujet pourrait être verrouillé.

Consultez également ceci : la question qui tue
.
Dans votre signature il y a écrit : LibreOffice 7.3.5.2 (x64)
Votre signature fait mention d'une version de LibreOffice qui n'est plus maintenue.
Si c'est une obligation ou un choix mentionnez-le par Obligation de version ou Choix dans votre signature afin de ne pas être relancé.

Afin de profiter des dernières améliorations, pensez à être à jour de la dernière version officielle stable

Accès direct à votre signature pour la corriger.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS
Avatar de l’utilisateur
Dolev
SuppOOrter
SuppOOrter
Messages : 1146
Inscription : 19 août 2018 05:20

Re: macro exécutable sur tous les classeurs

Message par Dolev »

Bonjour,

Merci de suivre les demandes du modérateur quant au balisage.

Votre classeur est au format ODS donc la solution est de ne pas faire de VBA.
Pour ouvrir un classeur, utilisez StarDesktop.loadComponentFromURL
Pour récupérer une cellule, getCellRangeByName
L'objet Workbooks n'est logiquement pas disponible hors du document.
Open Office 4.1.15 sous Windows 11
Avatar de l’utilisateur
micmac
RespOOnsable forum
RespOOnsable forum
Messages : 9828
Inscription : 28 août 2010 08:45

Re: macro exécutable sur tous les classeurs

Message par micmac »

Passage de l'intéressé le 30 juin 2024 20:26
Sujet verouillé.

Veuillez ouvrir un autre message en respectant les règles de cette section.


 Ajout :  Par Bidouille au 07/07/24 
Nouvelle visite le 01 juil. 2024 13:26
Et aucun nouvelle, je titre correctement pour vous montrer ce qu'il faut faire pour poster correctement ici.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
OpenOffice > Outils > Options sur Windows = OpenOffice > Préférences sur macOS