Pour répondre précisément à cette question "/pourquoi je n'arrive pas à 
faire une macro qui respecte la valeur de la cellule d'origine et me la 
remplace par la valeur de la cellule où j'ai créé cette macro /."
Il faut regarder le code de la macro Outils-Macros-Editer les macros ...
On trouve à la fin quelque chose du genre
/dim args4(0) as new com.sun.star.beans.PropertyValue
args4(0).Name = "StringName"
args4(0).Value = CHR$(34)+"12:05"
dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args4())/
Ce qui signifieque l'on va écrire la valeur créée à l'endroit où l'on 
est. _L'enregistrement n'a pas enregisté la manipulation mais le 
résultat de la manipulation_ (le texte généré) et la macro va simplement 
écrire ce résultat ...
Il faut bien dire que l'enregistrement de macro n'est pas le point fort 
de LO !  Il faut quasiment toujours rédiger soi-même la macro et donc 
connaître le Basic (ou autre langage accepté par LO)
Peut-être que quelqu'un créera cette macro (peut-être moi, à l'occasion) 
mais, dans la mesure où l'on peut obtenir le résultat avec une formule 
relativement simple, ce sera une perte de temps, du genre le fameux 
marteau pilon pour ouvrir une noix.
Avant de vouloir avoir recours aux macros, il vaut mieux creuser les 
formules. En général, quand on ne connait ni l'un ni l'autre, créer une 
formule prend quelques heures alors que créer une macro prend quelque 
jours voire plus
En dehors de ça, apprendre un langage de programmation est une 
expérience intéressante (... euh, quand on aime ça !) et puis ça permet 
aussi, souvent de mieux comprendre le comportement de l'ordinateur ou de 
l'application, par exemple, pour Calc, de créer des formule 
conditionnelles (fonction SI and C°) plus efficaces
Le 12/06/2023 à 11:52, Kohler Gerard a écrit :
bonjour,
dans une feuille calc j'ai plusieurs dizaines de cellules ayant des 
données sous la forme xx:yy:zz
clac les considère comme des données horaire, ce qu'elles ne sont pas.
je voudrais remplacer ces données par 'xx:yy (ajout d'un guillemet au 
début et suppression des 3 derniers caractères)
j'aimerai assigner une macro à une combinaison de touche.
je me place dans une cellule à modifier,
j'utilise le menu enregistrer une macro,
je fais F2 puis touche fin ensuite 3 fois retour en arrière puis 
touche origine puis ' puis entrée
j'enregistre la macro
lorsque je me place sur une autre cellule et que je lance cette macro 
elle me remplace la valeur de la cellule par celle de la cellule qui 
m'a servi pour enregistrer ma macro.
où est mon erreur ?
merci pour votre aide
Gérard
ma grande interrogation c'est surtout pourquoi je n'arrive pas à faire 
une macro qui respecte la valeur de la cellule d'origine et me la 
remplace par la valeur de la cellule où j'ai créé cette macro .
merci pour votre aide
Gérard
--
Envoyez un mail à users+unsubscribe@fr.libreoffice.org pour vous désinscrire
Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy
Context
   
 
  Privacy Policy |
  
Impressum (Legal Info) |
  
Copyright information: Unless otherwise specified, all text and images
  on this website are licensed under the
  
Creative Commons Attribution-Share Alike 3.0 License.
  This does not include the source code of LibreOffice, which is
  licensed under the Mozilla Public License (
MPLv2).
  "LibreOffice" and "The Document Foundation" are
  registered trademarks of their corresponding registered owners or are
  in actual use as trademarks in one or more countries. Their respective
  logos and icons are also subject to international copyright laws. Use
  thereof is explained in our 
trademark policy.