Date: prev next · Thread: first prev next last
2023 Archives by date, by thread · List index


Oui bien vu Christian,
je m'étais basé sur le "reformatage en texte" et j'ai omis le fait qu'il
fallait enlever les 3 derniers caractères dans ma formule...

Yves

Le mar. 13 juin 2023 à 01:13, C Fourcroy <cfourcroy@free.fr> a écrit :

Euh, me goure-je ou ça marche pas ?
Il faut enlever les 3 derniers caractères, non ?
$1 renvoi la totalité de la chaîne sélectionnée, donc le ":cc" final aussi.
ça ne serait pas plutôt ^(.*:.*):.*$
Et si l'on veut vraiment un ' ou un " en début de chaîne il faudrait
quelque chose du genre ''$1 ou "$1


Le 12/06/2023 à 22:48, yves dutrieux 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 <ocleyr2lalune@zaclys.net> 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 <cfourcroy@free.fr> 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 à 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
--
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





-- 
web site : http://www.molenbaix.com

-- 
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.