Merci Yves
Mais n'est-il pas possible d'utiliser directement la fonction regex dans la 
macro (avec les bons paramètres) ? 
https://help.libreoffice.org/latest/fr/text/scalc/01/func_regex.html
Et donc sans passer par le ctrl H (c'était le sens de mon ultime proposition)

⁣Claire​

Le 12 juin 2023 à 22:48, à 22:48, yves dutrieux <[email protected]> a écrit:
>Bonsoir,
>
>comme Claire le mentionne, la solution regex combinée à une macro est
>possible et est drôlement efficace !
><sélectionner 2 cellules sur lesquelles appliquer la modif>
><activer l'enregistrement macro>
><Ctrl-H>
>rechercher : (^.*$)
>remplacer   : '$1       (attention à l'apostrophe devant le $1 ! )
>[x] selection active seulement.
>[x] expression régulière
>[remplacer tout]
><s'il propose un écran avec le résultat des cellules remplacées,
>décocher
>l'option d'afficher cet écran)>
>[fermer]
><stopper l'enregistrement macro>
>et nommer cette macro par exemple : "forcer_en_texte"
>Ensuite soit adapter la barre d'outils ou un raccourci pour y affecter
>cette macro.
>
>Il faudra donc sélectionner les cellules ad-hoc ensuite avant de
>cliquer
>sur le bouton ou actionner le raccourci ;)
>
>Bonne découverte.
>Yves
>
>
>Le lun. 12 juin 2023 à 14:21, Ocleyr2lalune <[email protected]>
>a
>écrit :
>
>> Bonjour
>> Si ce n'est pas un horaire, ou une durée, et qu'il y a : qui separent
>les
>> valeurs, ce doit être traité comme du texte.
>> Cela fait plusieurs questions qu'on essaie de garder un format
>numérique
>> alors que le format texte s'impose. Chercher à le conserver est une
>source
>> d'erreur.
>>
>> Quand une suite de caractère  contient uniquement des chiffres qui
>n'ont
>> pas vocation à s'additionner, les fonctions texte permettent de
>manipuler
>> cette suite de caractères.
>>
>> Quand une série de chiffres doit subir une opération du type j'enleve
>les
>> 3 derniers chiffres (caractères), j'extraie le 2e et 3e chiffre... On
>n'est
>> clairement sur un manipulation de chaine de caractère et se
>compliquer la
>> vie a manipuler ça comme des nombres me paraît vraiment hasardeux.
>>
>> Ben oui moi aussi j'ai mes manies.... Les valeurs texte quand c'en
>est....
>>
>> Sur la question d'origine
>>
>> Peut-être qu'il faudrait déjà regarder si le format seulement ne doit
>pas
>> être corrigé (si on était sur un chrono par exemple) =>
>format/cellules
>> Sinon Sélectionner la colonne données / texte en colonnes
>> Dans la fenêtre qui s'affiche selectionner l'aperçu des valeurs puis
>> texte.(du coup on ne perd pas les 0 en début de chaîne et on revient
>dans
>> les clous.
>>
>> Peut-être qu'une regex repond directement à la question :
>> Soit via un rechercher/remplacer (ctrl H)
>> Soit via la fonction regex qu'on oublie souvent
>>
>> Pour la macro, les experts macro pourront corriger ou compléter
>mais...
>> Il me semble qu'on peut faire d'une fonction personnalisée une macro
>(si
>> la correction à effectuer est récurrente... Ça s'entend)
>>
>> ⁣Claire​
>>
>> Le 12 juin 2023 à 13:14, à 13:14, C Fourcroy <[email protected]> a
>écrit:
>> >OUPS...
>> >
>> >ça serait mieux avec =SI(ESTNONTEXTE(A1);""""  & TEXTE(A1;"hh:mm");
>> >""""
>> >& GAUCHE(A1;5))
>> >Sinon on risque de perdre les 0 de tête, 05 devient 5 etc ...
>> >
>> >
>> >
>> >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
>> >>
>> >>
>> >
>> >--
>> >Envoyez un mail à [email protected] pour vous
>> >désinscrire
>> >Les archives de la liste sont disponibles à
>> >https://listarchives.libreoffice.org/fr/users/
>> >Privacy Policy: https://www.documentfoundation.org/privacy
>>
>> --
>> Envoyez un mail à [email protected] pour vous
>> désinscrire
>> Les archives de la liste sont disponibles à
>> https://listarchives.libreoffice.org/fr/users/
>> Privacy Policy: https://www.documentfoundation.org/privacy
>>
>
>
>-- 
>web site : http://www.molenbaix.com

-- 
Envoyez un mail à [email protected] pour vous désinscrire
Les archives de la liste sont disponibles à 
https://listarchives.libreoffice.org/fr/users/
Privacy Policy: https://www.documentfoundation.org/privacy

Répondre à