importer des macros office

Bonjour,

Je viens d’installer Libre Office. Je n’ai pas trouvé comment faire pour récupérer et utiliser les macros que j’ai créées dans des fichiers word ou excel (office 2000). Pouvez-vous m’aider, svp ?

Par ailleurs, quand je vais dans le menu macro, j’ai le message suivant : “LibreOffice nécessite un environnement d’exécution java (JRE) 64-bit pour réaliser cette tâche. Veuillez installer un JRE puis redémarrer LibreOffice.” Or je ne sais pas où trouver un tel JRE. Y a-t-il une extension à installer ?

Merci d’avance pour vos réponses.

Bonjour,

Il convient de rechercher si une question voisine n’a pas déjà été posée avant de poster la sienne.

Dans votre cas : les macros ne fonctionnent pas

Et lire la conclusion.

Merci pour la réponse.
J’avais fait une recherche préalable, mais je n’avais pas trouvé de question similaire à la mienne.
J’ai consulté le post proposé. Mais à part le conseil d’éviter les macros, cela ne va malheureusement pas suffire à résoudre mon problème.

Il ne s’agit pas d’éviter les macros mais de repartir à zéro puisque les deux langages sont incompatibles.

OK. Dommage…
Merci pour la réponse.

Bonjour,

L’environnement JRE nécessaire est JAVA.

Regarde https://www.java.com/fr/download/help/download_options.xml pour la méthode

Quant aux macros XLS, je ne suis pas entièrement d’accord avec le fait de devoir tout recommencer:

90% du code est compatible

Seuls les accès aux fichiers, feuilles de calcul, mise en forme des champs de cellule sont différents. (Tout ce qui concerne l’accès au contenu de fichiers/applications)

Et encore, passer de l’un à l’autre n’est pas insurmontable.

Je te conseille la lecture de texte du lien
Et de BasicGuide_OOo3.2.0.odt

BAT

90 % ??? Où avez-vous pêché cette information ?

Si c’était le cas, je pense que l’auteur ne poserait même pas la question. :?

Simplement parce que la structure et le vocabulaire de Basic sont quasi identiques.

Par contre tout ce qui est l’interface entre OOOBasic et les application est ‘différent’:

Il n’y a pas d’objets prédéfinis comme en VBA.

Mais ‘Dim mSheets as Sheets’ en VBA est l’équivalent de ‘Dim mSheets as object’ où on assigne ensuite le type à l’objet par ‘mSheets = ThisDocument.Sheets’ dans OOOBasic

Je ne trouve pas cela bien différent.

Trouver les Méthodes et Propriétés applicables sur l’objet ainsi défini est moins évident (mais c’est aussi le cas en VBA)

Compatible = pas de réécriture

Et votre exemple montre bien qu’il faut réécrire.

La partie interface avec l’application doit être adaptée → transposition

Le corps du programme ne devrait pas être modifié:

Inutile de faire fuir les utilisateurs de Microsoft Office en leur rabâchant que s’ils viennent sous Libre Office ils devront réécrire leurs Macros. Les adapter plus que probablement .

Mes sources: BasicGuide_OOo3.2.0.odt: § “About OpenOffice.org Basic”

On ne fait fuir personne. On aide en évitant de faire croire que lancer une macro Excel va fonctionner.

Lisez le lien que je donne plus bas. La réponse de M. Samyn montre que ce n’est pas le cas.

Oui,

Et sa réponse fournit un code très élégant qui permet d’utiliser une méthode qui n’existe pas sous Excel et pas une adaptation du code fournit par le demandeur.

(J’arrête ici cette polémique qui n’apporte rien à personne)

Conclusion : il s’agit bien de réécrire.

CQFD

Parfaitement

Et grâce à toi AZUR n’est plus revenu depuis le 25 Août.

Il a probablement installé Excel depuis.

C’est exactement comme quand tu fait appel à Mme Irma si une question est incomplète ou manque de clarté: Un peu de civilités vis a vis du demandeur favoriserait une meilleur fréquentation du site.

De plus quant quelqu’un pose une question il faut la lire depuis le début et pas répondre seulement à une partie de celle-ci ou alors le préciser en tête de la réponse.

La seule chose que tu me semble démontrer c’est ton age mental qui n’est pas en accord avec ta vignette.

Il a dû lire vos réponses et comprendre qu’il n’y aurait aucune magie à ouvrir ses documents Microsoft et que chaque macro devrait être réécrite.

Quant à l’âge mental, je n’ai pas l’outrecuidance de vous tutoyer.