Programmation "OpenOffice"

Signaler
Messages postés
74
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
31 décembre 2020
-
Messages postés
74
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
31 décembre 2020
-
Bonjour,
N'étant pas un as des applications je m'adresse donc aux connaisseurs.
question
j'utilise Open office 4.1.3 je désire lorsque la valeur est "0" (zéro) dans la cellule D2 l'heure de la machine soit inscrite dans la valeur de la cellule B5
Merci de vos aides
cordialement
RG

14 réponses

Messages postés
235
Date d'inscription
samedi 7 novembre 2020
Statut
Membre
Dernière intervention
5 janvier 2021
53
Bonjour,

En B5 :
=SI(D2=0;MAINTENANT())
Pensez à formater B5 au format horaire voulu.

Cdt
Messages postés
235
Date d'inscription
samedi 7 novembre 2020
Statut
Membre
Dernière intervention
5 janvier 2021
53
Je précise que je ne suis pas calé en macro pour Open ou LibreOffice ! mais comme la proposition est relativement simple, voici un exemple à étudier : https://cjoint.com/c/JLxozePWUbA

Il faut accepter l'exécution des macros à l'ouverture du fichier. Il contient :
- une procédure ( Sub EnrgistreHeure ) associée au bouton présent dans le feuille. On doit donc déclencher l'enregistrement de l'heure manuellement lors de l'appui sur ce fameux bouton : on met l'heure en B5 si D1=0 ET si B5 est vide ; Si D1<>0, B5 est vidé.
- une fonction ( Function MonHeure(x) ) que l'on peut inscrire comme une formule dans n'importe quelle cellule cible en lui passant comme paramètre le nom de la cellule qui déclenchera son fonctionnement. Voir l'exemple en B6 =MONHEURE(D1)

PS : écrit sous LibreOffice 7 mais ça devrait marcher avec OpenOffice
Messages postés
235
Date d'inscription
samedi 7 novembre 2020
Statut
Membre
Dernière intervention
5 janvier 2021
53
Bonsoir,

une proposition ici : https://cjoint.com/c/JLAspjk3ISA

A savoir que les classeurs avec macro de Excel ne sont pas utilisables (sauf exception) dans OpenOffice et vice-versa.
Messages postés
74
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
31 décembre 2020
2
Merci ça fonctionne mais un problème arrive lorsque je donne une valeur numérique dans une autre cellule de la feuille, l'heure en B5 change en "maintenant" elle doit restée à l'heure initiale
pourquoi cette correspondance, comment l'éviter?
cordialement
Messages postés
235
Date d'inscription
samedi 7 novembre 2020
Statut
Membre
Dernière intervention
5 janvier 2021
53
MAINTENANT() donne l'heure à l'instant. Or, par défaut, Excel ou Calc recalcule les formules à chaque changement d'où la réactualisation de l'heure.
Pour maitriser cela, il faudrait désactiver la réactualisation, ce qui est peu souhaitable ou programmer une macro.

EDIT :
Je n'utilise pas OpenOffice mais dans libreOffice on peut transformer manuellement une formule en sa valeur : en somme un copier-coller sur place de la valeur affichée par une formule. On doit pouvoir faire pareil dans OpenOffice : Données > Calculer > Formule en valeur.
Ce n'est évidemment pas concevable si c'est à faire sur un grand nombre de cellules!
Messages postés
74
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
31 décembre 2020
2 >
Messages postés
235
Date d'inscription
samedi 7 novembre 2020
Statut
Membre
Dernière intervention
5 janvier 2021

La solution à EDIT ne fonctionne pas. Comme c'est impossible de fixer la valeur d'origine, la solution d'une macro s'impose mais là....ce n'est plus possible avec mes petites compétentes . Si vous avez une aide, je suis preneur sinon j'abandonne mon projet
merci à tous
Messages postés
3762
Date d'inscription
jeudi 20 mars 2008
Statut
Membre
Dernière intervention
5 janvier 2021
933 >
Messages postés
74
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
31 décembre 2020

S'il s'agit d'insérer une date/heure fixe, la macro est ici :
https://forum.openoffice.org/fr/forum/ftopic1132.html
Messages postés
74
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
31 décembre 2020
2
Bonjour,
De retour !! en effet l'application fonctionne. Je vais abandonné mon projet et repartir avec un fichier qui fonctionne sous Excel. Comme je désire le partager il faudrait que libre office (portable) puisse être utilisé
la conversion ne fonctionne pas
la solution ?
merci de ton attention
RG
Messages postés
74
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
31 décembre 2020
2
l'exemple fonctionne si ouvert avec Excel. Si je l'ouvre avec libre office et, ayant accepté les macros (outil- option- chargement/enregistrement- propriété VBA "coché" Cde exécutable) ça ne marche pas
j'ai lu sur le net que "office" acceptait certaines macros de Excel même si toutes ne sont pas compatibles n'y a t-il pas une solution pour faire un premier pas et corriger au fil les incompatibilités
Si rien n'est possible il faudra que j'abandonne l'idée d'aider vers ceux qui n'ont pas excel
merci RG
Messages postés
8322
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
31 décembre 2020
1 555
Bonjour,

Certaines macros sont acceptées mais les API étant totalement différentes, les macros événementielles d'Excel ne fonctionnent pas dans Libre Office et vice-versa. A ma connaissance, il n'y a pas de compatibilité possible dans ce domaine.
Messages postés
74
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
31 décembre 2020
2
Bonjour,
évolution !! J'ai chargé libre office 7.04
Le fichier primitif avec des macros est sous Excel. "Office" l'ouvre et les macros fonctionnent partiellement. Celles qui bug le message suivant apparaît
Erreur d'exécution BASIC.
'423'
Sort
ActiveWorkbook.Worksheets("course - CHRONO").Sort.SortFields.Clear
Comment corriger ce point ??
merci à tous
cordialement
Messages postés
8322
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
31 décembre 2020
1 555
Joint le fichier via un site de partage
Messages postés
74
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
31 décembre 2020
2
le fichier est là (4 jours)
https://www.cjoint.com/c/JLBrvHJhIXO
Messages postés
8322
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
31 décembre 2020
1 555
Ce fichier est illisible avec Excel !
Messages postés
74
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
31 décembre 2020
2
Oui mais avec libre office 7. il est proche des capacités que procure le fichier identique sous Excel
Messages postés
8322
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
31 décembre 2020
1 555
Ce fichier est au format xls, c'est-à-dire un vieux format Microsoft Excel : s'il est illisible avec Excel, c'est qu'il est corrompu.
Le format Libre Office Calc est odt :
- Pourquoi utiliser un format xls si ce fichier ne doit pas être utilisé avec Excel ?
- Pourquoi écrire des macro VBA alors que ce n'est pas le bon langage pour Calc ?
Si ce fichier a vocation a être utilisé avec Excel et avec Calc, la première chose à faire c'est de le rendre fonctionnel avec Excel. Il faudrait aussi utiliser un format plus récent xlsm ou xlsb.
S'il ne sera pas utilisé avec Excel, abandonne le VBA au profit du LO Basic et utilises un format Calc (odt).
Messages postés
113
Date d'inscription
dimanche 8 novembre 2020
Statut
Membre
Dernière intervention
5 janvier 2021
44 >
Messages postés
8322
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
31 décembre 2020

Le format Libre Office Calc est odt
Le format Calc est .ods
Messages postés
74
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
31 décembre 2020
2
initialement, c'est un fichier récupéré. Il marche très bien sous excel xls. Après "ouvrir avec" Libre office Calc, je l'ai enregistré (excel 97-2003). C'est le document du lien transmis avec obligation de l "'ouvrir avec" Office
Ouvert, bien des fonctions sont utilisables je cherche donc à résoudre les quelques erreurs
Si j'enregistre au format "ODF" plus rien ne marche
Si tu as une solution simple je suis preneur
mes remerciements
RG14
Messages postés
8322
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
31 décembre 2020
1 555
« Il marche très bien sous excel xls » Eh bien NON, pas le fichier que tu as publié au post 13, il est illisible avec Excel, que ce soit Excel 2003, Excel 2007 ou Excel 2016 !
Messages postés
74
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
31 décembre 2020
2
ne cherche pas à l'ouvrir avec Excel
fait
-ouvrir avec
choisir libre office
le fichier est une extraction de lm'initiale Excel pourquoi la présentation Excel? même s'il en a les bases.
Ce que je recherche c'est de pouvoir l'utiliser entièrement avec son ouverture Libre Office
Messages postés
8322
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
31 décembre 2020
1 555
Un fichier au format xls doit pouvoir s'ouvrir avec Excel : c'est format propriétaire de Microsoft.
Quand ça ne fonctionne pas, c'est que le fichier présente un problème, ne respecte pas le format..

Il faut donc commencer par résoudre ce problème avant toute autre chose !
Travailler sur un fichier corrompu est forcement voué à l’échec !
Messages postés
74
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
31 décembre 2020
2
alors comment résoudre pour obtenir le fichier EXCEL sans problème si la source st corrompue
Messages postés
8322
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
31 décembre 2020
1 555
C'est toi qui est parti d'un source saine (de RoMa_31) pour la transformer en fichier corrompu !
Reprends chaque étape (avec Excel) pour déterminer quand la corruption apparaît et ce qui la cause (apparemment Libre Office).
Messages postés
74
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
31 décembre 2020
2
Bonjour,
Je n'ai pas repris les bases proposées. Il fallait tour réécrire les macros. Ce n'est plus dans mes compétences..là c'est trop!
Le 1er fichier transmis n'est pas l'original Excel
voici (sur un nouveau lien) celui qui fonctionne très bien depuis des années
https://www.cjoint.com/c/JLFoCicO1qO
C'est lui que je désire transmettre à ceux qui n'ont pas excel mais libreoffice avec un fonctionnement sous ce tableur (calc)
merci et Bonne Année!!
Messages postés
8322
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
31 décembre 2020
1 555
Bonjour,

Je comprends que ça ne fonctionne pas sous Libre Office, les macros Excel existantes sont à mon avis très mal écrites : variables ni déclarées ni typées, utilisation abusive de Select, de la syntaxe Evaluate abrégée, de parentalités et de propriétés implicites, ..., Nombreux modules vides, aucune organisation du code.

Pour avoir un petit espoir que ce VBA fonctionne sous Libre Office il faudrait commencer par ré-écrire le code VBA proprement, mais je pense que ça ne suffira pas. Par contre ça simplifiera grandement la traduction vers le Basic libre office.

Pour être sur que ça fonctionne correctement sous Libre Office il faut convertit le fichier sans aucune macro au format Calc (odt) et réécrire toutes les macros en Basic Libre Office.
Il faut donc 2 versions, une pour Excel et une autre pour Libre Office.
Messages postés
74
Date d'inscription
mardi 19 février 2013
Statut
Membre
Dernière intervention
31 décembre 2020
2
Tes solution sembles probables mais mettre le fichier excel "propre" n'est pas dans mes capacités. Le fichier est passé dans plusieurs mains et chacun y a apporté ses modifs sans se soucier
Pour moi la finalité est compliquée sans des compétences extérieures
merci