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
