Re: [fr-users] macro d'édition de cellule dans calc

2023-06-12 Par sujet yves dutrieux
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  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 !
> > 
> > 
> > 
> > rechercher : (^.*$)
> > remplacer   : '$1   (attention à l'apostrophe devant le $1 ! )
> > [x] selection active seulement.
> > [x] expression régulière
> > [remplacer tout]
> >  > l'option d'afficher cet écran)>
> > [fermer]
> > 
> > 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  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  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+unsubscr...@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+unsubscr...@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
> >>
> >
>

Re: [fr-users] macro d'édition de cellule dans calc

2023-06-12 Par sujet C Fourcroy
Le problème étant que la plupart des utilisateurs ne maîtrisent pas la 
source des données ni la façon dont elle est récupérée.
Bien souvent, pour mes clients, on leur donne un fichier Excel, CSV ou 
autre et ils doivent se débrouiller avec.
Notamment il ne faut pas croire que les "services informatiques" des 
sociétés maîtrisent la bureautique, ils connaissent l’informatique des 
gros systèmes, Oracle, SQL, ASP, AS400, IBM ou autres mais Excel, Word 
ou équivalent, ben non, ils n'y connaissent quasiment rien. Au point de 
ne pas accepter les connections Access, Excel ou autres sur leur base de 
données alors qu'elles sont en lecture seule !
Notre rôle est de faire communiquer des gens qui ne connaissent pas le 
boulot ni les possibilités  des uns et des autres.

Du moins , moi j'y suis confronté au moins une fois par mois.
On doit faire avec ce que l'on a, avec ce que les clients ont, pas avec 
ce qu'ils devraient avoir.
Par exemple, faire une requêtes ASP (seule intervention autorisée) pour 
avoir un csv (seul format autorisé) pour récupérer dans un tableur avant 
de faire un tableau croisé et autres statistiques, alors que ASP est 
accessible directement à la plupart des tableur sous Windows . Et ceci 
dans une société à dimension européenne, juste parce que leur service 
informatique ne croit pas un "simple formateur"


M'enfin bon ...ce que j'en dis ...

Le 12/06/2023 à 14:21, Ocleyr2lalune 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  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+unsubscr...@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+unsubscr...@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


Re: [fr-users] macro d'édition de cellule dans calc

2023-06-12 Par sujet C Fourcroy

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 !



rechercher : (^.*$)
remplacer   : '$1   (attention à l'apostrophe devant le $1 ! )
[x] selection active seulement.
[x] expression régulière
[remplacer tout]

[fermer]

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  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  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+unsubscr...@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+unsubscr...@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+unsubscr...@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


Re: [fr-users] macro d'édition de cellule dans calc

2023-06-12 Par sujet Ocleyr2lalune
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  a écrit:
>Bonsoir,
>
>comme Claire le mentionne, la solution regex combinée à une macro est
>possible et est drôlement efficace !
>
>
>
>rechercher : (^.*$)
>remplacer   : '$1   (attention à l'apostrophe devant le $1 ! )
>[x] selection active seulement.
>[x] expression régulière
>[remplacer tout]
>décocher
>l'option d'afficher cet écran)>
>[fermer]
>
>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 
>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  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+unsubscr...@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+unsubscr...@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+unsubscr...@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


Re: [fr-users] macro d'édition de cellule dans calc

2023-06-12 Par sujet yves dutrieux
Bonsoir,

comme Claire le mentionne, la solution regex combinée à une macro est
possible et est drôlement efficace !



rechercher : (^.*$)
remplacer   : '$1   (attention à l'apostrophe devant le $1 ! )
[x] selection active seulement.
[x] expression régulière
[remplacer tout]

[fermer]

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  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  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+unsubscr...@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+unsubscr...@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+unsubscr...@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


Fwd: [fr-users] macro d'édition de cellule dans calc

2023-06-12 Par sujet FourcroyC




 Message transféré 
Sujet : Re: [fr-users] macro d'édition de cellule dans calc
Date :  Mon, 12 Jun 2023 15:17:55 +0200
De :Kohler Gerard 
Pour :  fourcroy.christ...@free.fr



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

Le 12/06/2023 à 13:14, C Fourcroy 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






--
==
https://www.leregardduchat.fr/
==

--
Envoyez un mail à users+unsubscr...@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


Re: [fr-users] macro d'édition de cellule dans calc

2023-06-12 Par sujet C Fourcroy
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+unsubscr...@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


Re: [fr-users] modification

2023-06-12 Par sujet Ocleyr2lalune
Bonjour

Je remonte un peu mais c'est parce qu'après réflexion je vois que si c'est une 
évidence pour moi, ça ne l'est pas forcément pour d'autres...

Gauche manipule des chaînes de caractères. Donc le résultat est du texte. C'est 
tant mieux.

Effectivement dans l'exemple de Gilbert on se doute qu'on ne va pas additionner 
des Siret, Siren qui ne sont "que" l'expression d'une nomenclature. 

Il est toujours préférable de trouver la solution adaptée à notre propre 
besoin. Elle a des chances d'être plus simple qu'une solution générique "qui 
marche dans tous les cas". 

Reste que quels qu'ils soient, si l'on triture une suite de chiffre. C'est que 
c'est une chaine de caractère, et que l'on n'ira pas additionner ces valeurs, 
tout au plus on fera du dénombrement. Ce qui n'empêche pas de faire des calculs 
plus ou moins savants sur ces dénombrements qui eux sont bien des valeurs 
chiffrées


⁣Claire​

Le 1 juin 2023 à 18:07, à 18:07, Philippe POUMAILLOUX 
 a écrit:
>Merci Claire pour tes interventions toujours très intéressantes.
>
>Mais GAUCHE transforme le nombre en un résultat “texte”, si je ne me
>trompe pas, en tout cas c'est ce que j'ai constaté en appliquant cette
>fonction proposée par plusieurs intervenants.
>
>Je pense que dans l'exemple proposé par Gilbert, cela n'a pas
>d'importance car il ne prévoit sans doute pas de faire des opérations
>avec les N° SIREN et les SIRET...
>
>Bien cordialement et surtout merci
>
>Philippe
>
>envoyé : 1 juin 2023 à 14:47
>de : Ocleyr2lalune 
>à : LIARD 
>Cc: Libre Office 
>objet : Re: [fr-users] modification
>
>
>
>
>Bonjour Gilbert
>
>transformer un siret en siren est un besoin assez commun, penses avant 
>tout à vérifier que ta source de données ne te fourni pas un résultat 
>propre avec les siren à chaque fois.
>
>En l'occurrence les données Sirene sont ouvertes (et plus payantes) 
>depuis quelques années. Tu peux donc, selon ton besoin te reporter à
>
>https://www.sirene.fr/sirene/public/creation-fichier
>
>Les spécialistes de Sirene ne s'amuseront pas à mélanger des Siret et 
>des Siren dans la même colonne...
>
>Conceptuellement, Calc travaille en tableur, s'il fallait réaliser une 
>conversion, un remplacement pour toutes les cellules d'une colonne,
>sans 
>ajouter une colonne "propre" où tu passes ta formule, en fait tu ferais
>
>une macro qui ferait la même chose que ferait la formule, c'est un peu 
>"superflu" vu ce que tu cherches à faire !!!
>
>Effectivement si tu voulais en une ligne appliquer cette
>transformation, 
>un select en SQL ferait trés bien l'affaire... voilà pourquoi tant de 
>remarques sur ta question, pourtant simple et basique et en rien 
>choquante.
>
>La formule qui répond spécifiquement à ta demande est Gauche. Elle est 
>faite pour ça
>
>Bonne journée à toi
>
>Claire
>
>Le 2023-05-31 18:09, LIARD a écrit :
>
>Bonjour à tous,
>
>J'ai un colonne en format nombre avec soit des numéros de SIREN (9 
>chiffres) soit des numéros de SIRET (14 chiffres). Je rame pour 
>qu'automatiquement toute ma colonne soit en 9 chiffres (donc en Siren) 
>et éliminer les 5 derniers chiffres des numéros en Siret.
>
>Ex. Siret à l'origine : 48381893600013 pour transformer automatiquement
>
>en Siren 483818936
>
>Est-ce qu'il y a une formule que l'on peut appliquer à la colonne et 
>pas à chaque cellule ?
>
>Bien à vous,
>
>Gilbert LIARD
>
>-- Envoyez un mail à users+unsubscr...@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+unsubscr...@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


Re: [fr-users] macro d'édition de cellule dans calc

2023-06-12 Par sujet Ocleyr2lalune
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  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+unsubscr...@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+unsubscr...@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


Re: [fr-users] poster un message

2023-06-12 Par sujet Ocleyr2lalune
Bonjour

Exactement comme vous venez de le faire.
Et pour répondre gardez toujours us...@libreoffice.org en destinataire
Vous pouvez poser votre question avec un nouveau message, en mettant en objet 
quelques mots parlant pour identifier vite demande


⁣Claire​

Le 12 juin 2023 à 07:18, à 07:18, joseph  a écrit:
>Bonjour !
>
>Je voudrais poster un message, comment dois je faire ?
>
>
>-- 
>Envoyez un mail à users+unsubscr...@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+unsubscr...@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


Re: [fr-users] macro d'édition de cellule dans calc

2023-06-12 Par sujet C Fourcroy

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+unsubscr...@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


Re: [fr-users] macro d'édition de cellule dans calc

2023-06-12 Par sujet C Fourcroy

Bonjour ,

Je pense que l'on peut faire la même chose sans macro avec une formule 
du genre =SI(ESTNONTEXTE(A1); & HEURE(A1) & ":" &MINUTE(A1); & 
GAUCHE(A1;5))


Le test EstNonTexte permet de gérer les saisies qui sont prise sous 
forme de texte (si l'on a des choses comme 25:78:63)


 * Si ce n'est pas un texte ( donc, a priori, une heure), on concatène
   un guillemet (  ... oui, je sais, c'est un peu bizarre) avec
   l’heure, deux points puis les minutes
 * sinon (si c'est du texte) on concatène le guillemet avec les 5
   caractères à gauche

L'idéale serait de mettre ces données dans une colonne au format texte, 
on pourrait résumer la formule à =  & Gauche(A1;5).


Sinon, pour la macro, c'est normal : un enregistrement se fait en 
référence absolue par défaut, contrairement aux formules



Bon courage

Christian

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+unsubscr...@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


[fr-users] macro d'édition de cellule dans calc

2023-06-12 Par sujet Kohler Gerard

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


--
==
https://www.leregardduchat.fr/
==


--
Envoyez un mail à users+unsubscr...@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