Bonjour, Je suis d'accord : j'ai mal formulé ma question. Je cherche à éviter le dispatcher. Mais dans un premier temps, c'est la première solution que j'ai trouvé que je pouvais appliquer.
C'est un fichier mis à disposition tous les mois avec des données statistiques : je n'ai pas la main sur sa confection ni d'information sur le mode de confection mais il s'agit d'un fichier ods lorsque que je le récupère. C'est un fichier qui contient plusieurs données qui ne m'interesse pas et qui dans version récupéré non imprimable en raison de la trop grande quantité de données inutiles. La macros me sert à enlever tout ce qui m'est inutile, à mettre en page (forme et paramètre d'impression A4 paysage...) et exporté le résultat en PDF. Seule la partie style de page me pose problème, tout le reste c'est OK (surement pas très propre dans l'écriture de la macro mais j'obtiens ce que je cherche) Merci ----- Mail original ----- De: "Jean-Francois Nifenecker" <[email protected]> À: "users" <[email protected]> Envoyé: Mercredi 20 Novembre 2024 09:42:56 Objet: Re: [fr-users] Macro CALC : comment définir le style de page d'un onglet Bonjour, le dispatcher c'est bien. Mais il vaut mieux écrire les macros en utilisant les fonctions de l'API. Il faudrait nous en dire plus (je crains un problème XY [1]) : d'où vient le classeur à mettre en forme ? Pourquoi avoir recours à une macro ? Avez-vous envisagé d'autres solutions (style de page dans un modèle) ? [1] https://fr.wikipedia.org/wiki/Probl%C3%A8me_XY Bien cordialement, -- Jean-Francois Nifenecker, Bordeaux Le 20/11/2024 à 09:10, Tulum a écrit : > Bonjour, > > Je suis débutant en macro BASIC. J'ai un tableau avec plusieurs onglets. Je > souhaite dans une macro appliquer un style de page aux onglets (3 onglets) > pour l'impression :A4 en paysage avec alignement du tableau horizontal centré > et adaptation de la zone d'impression en 1 page en largeur. > J'ai essayé ça : > > f=0 > for f=0 to 2 step 1 > feuille=onglet.getbyindex(f) > classeur=thiscomponent.CurrentController.frame > dispatcher.executeDispatch(classeur, ".uno:PageFormatDialog", "", 0, Array()) > classeur=thiscomponent > next f > > Mais voila : > - cela plante libreoffice 1 fois sur 2. Je précise que c'est en environnement > professionnel : plusieurs paramètres et accès sont vérouillés par les > services informatiques. > - cela m'oblige (ou un autre utilisateur) à mettre les paramètres > manuellement (ce qui n'est pas le but d'une macro) par onglet (heureusement > dans ce cas il n'y en que 3) > - cela marche uniquement pour les onglets 1 et 3, le deuxième onglet reste en > style par défaut > > De plus, je n'aime pas : je ne comprends pas les 5 paramètres passés à > dispatcher.executeDispatch, seulement les 2 premiers. J'aime bien comprendre > ce que je fais. > > > Merci pour l'aide > -- Envoyez un mail à [email protected] pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy -- Envoyez un mail à [email protected] pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
