Programmation "OpenOffice"

Fermé
RG14 Messages postés 77 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 9 février 2024 - 22 déc. 2020 à 18:15
RG14 Messages postés 77 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 9 février 2024 - 31 déc. 2020 à 17:56
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
A voir également:

14 réponses

Utilisateur anonyme
22 déc. 2020 à 18:24
Bonjour,

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

Cdt
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
Utilisateur anonyme
26 déc. 2020 à 19:17
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.
RG14 Messages postés 77 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 9 février 2024 2
22 déc. 2020 à 19:32
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
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!
0
RG14 Messages postés 77 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 9 février 2024 2 > Utilisateur anonyme
22 déc. 2020 à 21:55
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
0
OOoForum Messages postés 3871 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 10 juin 2024 960 > RG14 Messages postés 77 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 9 février 2024
23 déc. 2020 à 15:16
S'il s'agit d'insérer une date/heure fixe, la macro est ici :
https://forum.openoffice.org/fr/forum/ftopic1132.html
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
RG14 Messages postés 77 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 9 février 2024 2
26 déc. 2020 à 13:04
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
RG14 Messages postés 77 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 9 février 2024 2
26 déc. 2020 à 22:22
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
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
Modifié le 27 déc. 2020 à 12:33
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.
0
RG14 Messages postés 77 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 9 février 2024 2
27 déc. 2020 à 12:58
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
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
27 déc. 2020 à 13:18
Joint le fichier via un site de partage
0
RG14 Messages postés 77 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 9 février 2024 2
27 déc. 2020 à 18:22
le fichier est là (4 jours)
https://www.cjoint.com/c/JLBrvHJhIXO
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
27 déc. 2020 à 23:55
Ce fichier est illisible avec Excel !
0
RG14 Messages postés 77 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 9 février 2024 2
28 déc. 2020 à 09:15
Oui mais avec libre office 7. il est proche des capacités que procure le fichier identique sous Excel
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
Modifié le 28 déc. 2020 à 09:33
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).
0
trotte-menu Messages postés 788 Date d'inscription dimanche 8 novembre 2020 Statut Membre Dernière intervention 12 juillet 2024 288 > Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023
Modifié le 29 déc. 2020 à 01:29
Le format Libre Office Calc est odt
Le format Calc est .ods
0
RG14 Messages postés 77 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 9 février 2024 2
28 déc. 2020 à 18:36
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
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
28 déc. 2020 à 21:19
« 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 !
0
RG14 Messages postés 77 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 9 février 2024 2
28 déc. 2020 à 23:04
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
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
Modifié le 29 déc. 2020 à 11:28
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 !
0
RG14 Messages postés 77 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 9 février 2024 2
29 déc. 2020 à 22:43
alors comment résoudre pour obtenir le fichier EXCEL sans problème si la source st corrompue
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
Modifié le 29 déc. 2020 à 23:55
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).
0
RG14 Messages postés 77 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 9 février 2024 2
31 déc. 2020 à 15:32
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!!
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 778
Modifié le 31 déc. 2020 à 17:13
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.
0
RG14 Messages postés 77 Date d'inscription mardi 19 février 2013 Statut Membre Dernière intervention 9 février 2024 2
31 déc. 2020 à 17:56
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