Erreur macro

Bsr,

LO 5.0.3.2
Win10

Depuis que je suis passé à la dernière version de LO une de mes macros ne fonctionne plus.

Message d'erreur :
Erreur d'exécution BASIC.
Variable d'objet non définie.

Sub Retrait

dim oTable as object, oPlage as object

oTable = thiscomponent.TextTables.getByName("Tableau1")
oPlage = oTable.getCellRangeByName("A7:A26")
oPlage.ParaFirstLineIndent = 700 '353 *<===*

End Sub

Merci de votre aide.

Re,

J'aurais du préciser à quoi sert cette macro.

Je m'en sers dans Writer pour indenter les lignes A7 à A26 d'un tableau collé depuis Excel de 35 lignes x 1 col.
Merci

Cordialement
Mr Sandy-Pascal Andriant

Bon,

En supprimant le commentaire ça fonctionne à nouveau.

Sub Retrait

dim oTable as object, oPlage as object

oTable = thiscomponent.TextTables.getByName("Tableau1")
oPlage = oTable.getCellRangeByName("A7:A26")
==> oPlage.ParaFirstLineIndent = 700

End Sub

Désolé pour le bruit

Cordialement
Mr Sandy-Pascal Andriant

Bonsoir,

je ne comprends pas pourquoi le commentaire ne fonctionnerait pas ou plus depuis LibO 5 ?
Est-ce que l'incident se produit aussi en mettant rem à la place de l'apostrophe ?

Lucien

En fait j'ai fait une fausse manip qui m'a fait croire que ça remarchait...
Ce qui n'est pas le cas en fait.

En fait, ça marche si le tableau est copié sur une page vierge (marges par défaut) mais pas s'il est copié sur un modèle perso (marges différents et ajout d'entête et pied de page)...

Cordialement
Mr Sandy-Pascal Andriant

Avec 2 exemples il me semble que ce sera plus clair

Le fichier qui fonctionne :
macro_ok.odt
<http://nabble.documentfoundation.org/file/n4166446/macro_ok.odt>

Et celui qui ne fonctionne pas :
macro_erreur.odt
<http://nabble.documentfoundation.org/file/n4166446/macro_erreur.odt>

Bonjour,

je viens de tester avec un LibreOffice 5 tout neuf…
Les deux fonctionnent parfaitement sous Mac Yosemite, avec ou sans personnalisation du format de page.

Le lézard serait ailleurs ?
C_Lucien

Honte à moi. Je me suis trompé pour le fichier qui ne fonctionne pas.
macro_erreur_2.odt
<http://nabble.documentfoundation.org/file/n4166493/macro_erreur_2.odt>

J'en ai profité pour désinstaller et réinstaller LO.
Sans effet.

Bonjour

Honte à moi. Je me suis trompé pour le fichier qui ne fonctionne pas.
macro_erreur_2.odt
<http://nabble.documentfoundation.org/file/n4166493/macro_erreur_2.odt>

simple erreur de nom du Tableau
c'est Tableau2 et non Tableau1

pour verifier
mets le curseur dans le tableau
bouton droit > proprietes du tableau

en mettant le bon nom, ca passe

Bon courage

Laurent

Honte à moi. Je me suis trompé pour le fichier qui ne fonctionne pas.
macro_erreur_2.odt
<http://nabble.documentfoundation.org/file/n4166493/macro_erreur_2.odt>

J'en ai profité pour désinstaller et réinstaller LO.
Sans effet.

-----
Cdlt,
Conil26
LO 5.0.3.2 / Win10
--

Le nouveau fichier apporte la clé du mystère.

Dans l'en-tête, tu as un Tableau1 contenant une cellule unique. Or, ta macro doit traiter Tableau3.

En la modifiant comme suit

Sub Retrait

dim oTable as object
dim oPlage as object

oTable = thiscomponent.TextTables.getByName("Tableau3") '<====>
oPlage = oTable.getCellRangeByName("A7:A26")
oPlage.ParaFirstLineIndent = 750

End Sub

c'est opérationnel.

Si tu sais faire, pourquoi ne pas stocker dans une variable le nom du tableau _sélectionné_, pour la reporter dans les paramètres de la commande d'indentation ?
Je ne sais pas comment faire hélas.

C_Lucien

Merci d'avoir trouvé le lézard.

En fait je vais plus simplement supprimer le tableau de l'Entête.
Me demande bien comment il est arrivé là...

Cordialement
Mr Sandy-Pascal Andriant