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 <[email protected]> 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 <[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
