Calc : erreur de macro suivant le version

Bonjour,

J'ai réalisé, sous Libreoffice Calc version 3.3.3, une application de gestion de compétition sportive. Expérimentée avec succès, toujours avec cette version et avec OpenOffice. Il y a plusieurs onglets, des tris, des recompositions de plages, etc... Tout cela avec des boutons auxquels sont affectées des macros.

Je viens de passer en version Libre Office 3.4.4 et là, surprise, une erreur macro apparaît quand il s'agit de changer d'onglet :

    /LibreOffice 3.4
    Erreur d'exécution BASIC '91'
    Variable d'objet non définie./

Voici une des macros en question :

    */sub Vers_Accueil/*

    *//*

    */rem Définition des variables/*

    *//*

    */dim document as object/*

    *//*

    */dim dispatcher as object/*

    *//*

    */
    / *

    *//*

    */rem Accès au document/*

    *//*

    */document = ThisComponent.CurrentController.Frame/*

    *//*

    */dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")/*

    *//*

    */
    / *

    *//*

    */rem Aller à la feuille "Accueil"/*

    *//*

    */dim args1(0) as new com.sun.star.beans.PropertyValue/*

    *//*

    */args1(0).Name = "Nr"/*

    *//*

    */args1(0).Value = 1/*

    *//*

    */dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0,
    args1())/*

    *//*

    */
    / *

    *//*

    */rem Placer le pointeur en A1/*

    *//*

    */dim args2(0) as new com.sun.star.beans.PropertyValue/*

    *//*

    */args2(0).Name = "ToPoint"/*

    *//*

    */args2(0).Value = "$A$1"/*

    *//*

    */
    / *

    *//*

    */end sub/*

La ligne en cause est celle-ci :

    */dim args1(0) as new com.sun.star.beans.PropertyValue/*

Est-ce un bug de la version 3.4 ?

Précision : pour essai, j'ai enregistré une macro pour simplement changer d'onglet avec cette nouvelle version et, à l'exécution, l'erreur apparaît aussi. Donc elle ne reconnaît pas ses propres macros. Bizarre non ?

Merci par avance pour les suggestions et avis.

Bonjour,

Je réponds à ma propre question;

L'erreur a été provoquée par une ligne figurant en haut de la macro (2ème ligne) :

    option VBASupport 1

Cette option n'empêche pas le fonctionnement de la macro sous Libo 3.3.3, mais provoque une erreur avec la version 3.4.2.

Quelqu'un peut-il expliquer cette anomalie.

Merci

Bonjour,

J'ai réalisé, sous Libreoffice Calc version 3.3.3, une application de gestion de compétition sportive. Expérimentée avec succès, toujours avec cette version et avec OpenOffice. Il y a plusieurs onglets, des tris, des recompositions de plages, etc... Tout cela avec des boutons auxquels sont affectées des macros.

Quand cette application est chargée surnun autre ordinateur, ou portable, les boutons de forme circulaire se transforment en boutons de forme ovoïde très aplatis, de dimensions variées en fonction de la feuille où ils sont placés.

J'ai tenté de les "fixer" à la forme circulaire parfaite en cochant la case "Protéger la taille" dans le menu "Position et taille", mais cela n'apporte pas le résultat escompté !

Quelqu'un a t-il une solution ou est-ce un bug ?

Merci par avance pour les suggestions et avis.

Bonjour,

Cela dépend peut-être de la résolution de l'écran de l'ordinateur ?
En modifiant cette résolution ?

Bonjour,

J'ai réalisé, sous Libreoffice Calc version 3.3.3, une application de
gestion de compétition sportive. Expérimentée avec succès, toujours
avec cette version et avec OpenOffice. Il y a plusieurs onglets, des
tris, des recompositions de plages, etc... Tout cela avec des boutons
auxquels sont affectées des macros.

Quand cette application est chargée surnun autre ordinateur, ou
portable, les boutons de forme circulaire se transforment en boutons
de forme ovoïde très aplatis, de dimensions variées en fonction de la
feuille où ils sont placés.

J'ai tenté de les "fixer" à la forme circulaire parfaite en cochant la
case "Protéger la taille" dans le menu "Position et taille", mais cela
n'apporte pas le résultat escompté !

Quelqu'un a t-il une solution ou est-ce un bug ?

Merci par avance pour les suggestions et avis.
_________________________________________________

Actuellement sous LinuxMint 12 à jour (avec LibreOffice 3.4.4) mais le
même défaut existe aussi sous Debian 6.0 (avec OpenOffice 3.3) et
LinuxMint LMDE (avec LibreOffice 3.4.4 dans ce dernier cas).

Bonjour,

Cela dépend peut-être de la résolution de l'écran de l'ordinateur ?
En modifiant cette résolution ?

--
Jacques

Oui, bien sûr, comme sur un ultra portable. mais sur le portable sur lequel je travaille en ce moment la résolution est la même que sur le PC de bureau sur lequel a été réalisée l'application (1920x1080 en 16/9). Même si c'était cela, la déformation est telle que cela ne correspondrait pas à une définition d'écran autre, les rapports Lxl étant relativement voisins.

Merci quand même pour la suggestion. Et bonne journée.

VBASupport 1 permet de pouvoir utiliser la syntaxe VBA dans
OpenOffice/LibreOffice à la place de celle du BASIC d’origine.

Comme le support VBA évolue au fil des versions, peut-être y a-t-il,
dans votre macro une fonction qui n’est pas traitée de la même manière
selon les versions.

J-L

Bonsoir et merci pour la réponse.

Oui, peut-être, mais pourquoi cette option est valable pour une version de Libo et pas pour une autre ?
Et quelle est la version du support VBA qui conviendrait ?

Bonjour,

J'ai trouvé ce qui n'allait pas. Les boutons étaient ancrés chacun à une cellule. Au redémarrage, quelle que soit la version, le bouton prenait les dimensions de la cellule à laquelle il était ancré.
Il a suffit d'ancrer les boutons "à la page" (et non plus "à la cellule") pour que tout rentre dans l'ordre ; chaque bouton conserve bien ses dimensions initiales.

Merci à ceux qui ont donné des idées.

Bonjour,

J'ai trouvé ce qui n'allait pas. Les boutons étaient ancrés chacun à une cellule. Au redémarrage, quelle que soit la version, le bouton prenait les dimensions de la cellule à laquelle il était ancré.
Il a suffit d'ancrer les boutons "à la page" (et non plus "à la cellule") pour que tout rentre dans l'ordre ; chaque bouton conserve bien ses dimensions initiales.

Merci à ceux qui ont donné des idées.