Re-bonjour
J'ai procédé comme vous me l'avez indiqué mais cela ne fonctionne pas j'ai
le message d'erreur suivant :
[image: Images intégrées 1]

L'idée du "%" c'est de rechercher un caractère que j'ai peu de chance de
retrouver dans ma liste de données.
j'aurais pu mettre "zzz" mais si je mets cela dans la macro cela ne
fonctionne pas mieux.
Cordialement

Le 18 novembre 2016 à 14:46, Didier JASSELIN <[email protected]> a
écrit :

> Bonjour et merci de votre réponse.
> Mon souhait d'automatiser est motivé par le fait que ce tableau est assez
> long (plusieurs centaines de lignes) et qu'il faut faire cette opération
> chaque mois dans un délai très c ourt pour exploiter le tableau.
> Je vais essayer votre proposition.
> Je vous tiens au courant.
> Cordialement
>
> Le 18 novembre 2016 à 13:51, Michel Rudelle <[email protected]> a
> écrit :
>
>> Bonjour,
>>
>> > -----Message d'origine-----
>> > De : [email protected]
>> > [mailto:[email protected]]
>> >
>> > Bonjour
>> >
>> > Email:: [email protected]
>> > Sujet:: Appeler une fonction de calc dans une macro
>> > Question:: Bonjour,
>> > Voici mon problème : j'ai une feuille de calcul comportant une colonne
>> où
>> > figurent la civilité ou la forme juridique d'une entreprise. Je souhaite
>> > faire apparaître séparément dan 2 colonnes ces éléments. J'ai procédé
>> > ainsi :
>> > Inserttion d'une colonne avant celle contenant les données à exploiter
>> > (colonne D) et saisie de la formule = =GAUCHE(E2;CHERCHE(" ";E2)-1),
>> puis
>> > recopie de la formule jusqu'au bas de mon tableau
>> > Insertion d'une autre colonne après celle contenant les données à
>> > exploiter (colonne D) et saisie de la formule
>> > =STXT(E2;TROUVE("%";SUBSTITUE(E2;" ";"%";1))+1;NBCAR(E2)) puis recopie
>> de
>> > la formule jusu'au bas de mon tableau et masquage de la colonne
>> contenant
>> > les données d'origine.
>> > Je voudrais automatiser cela par une macro mais avec l'enregistreur les
>> > formule ne sont pas prises.
>> > Comment faire sachant que je ne maîtrise pas le langage macro de
>> > LibreOffice ?
>> > Merci de votre aide
>>
>> Pourquoi automatiser ? une fois le travail que vous avez décrit effectué,
>> il
>> reste présent ...
>>
>> Voici quelques éléments:
>> les formules complexes ne sont pas enregistrées avec l'enregistreur de
>> macro, mais on peut les rajouter avec un peu d'astuce:
>>
>> 1/ faire la même chose avec des formules simples (=A1+A2) par exemple
>>
>> 2/ dans la macro vous trouverez les lignes suivantes :
>>
>> rem ------------------------------------------------------------
>> ----------
>> dim args3(0) as new com.sun.star.beans.PropertyValue
>> args3(0).Name = "StringName"
>> args3(0).Value = "=A1+A2"
>> dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args3())
>>
>> 3/ remplacer alors =A1+A2 par la bonne formule, mais attention, en
>> anglais:
>>
>> =LEFT(E2;SEARCH(" ";E2)-1)
>> =MID(E2;FIND("%";SUBSTITUTE(E2;" ";"%";1))+1;LEN(E2))
>>
>> Ça devrait marcher, je viens de le faire sur un cas très simplifié (LibO
>> 5.1.5 / Vista)
>>
>> Pour trouver les formules en anglais, après les avoir écrites en français:
>> Outils > Options > LibreOffice Calc > Formules > Cocher "utilser les noms
>> de
>> fonction en anglais
>>
>>
>> Cordialement,
>>
>> Michel
>>
>> PS: Si vous répondez, merci de penser à utiliser la fonction "répondre à
>> tous" de votre logiciel de courrier électronique de façon que la liste
>> reçoive une copie de votre réponse.
>>
>>
>
>
> --
> Didier JASSELIN
>



-- 
Didier JASSELIN

-- 
Envoyez un mail à [email protected] pour savoir comment vous 
désinscrire
Les archives de la liste sont disponibles à 
http://listarchives.libreoffice.org/fr/users/
Tous les messages envoyés sur cette liste seront archivés publiquement et ne 
pourront pas être supprimés

Répondre à