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


Bonjour,

Merci pour ton retour.

Les fichiers en question sont extraits en csv de différentes applications, la première solution exigerait de modifier la macro si la colonne changeait et je ne suis pas maître de la structure des ces fichiers.

La deuxième solution est plus facile à mettre en œuvre mais du coup je pense qu'il est plus facile pour mes collègues qui réalisent régulièrement ces traitement de comprendre
=SI(A1="";"";TESTERCHAINE(A1))
que
=TESTERCHAINEPYS(CELLULE("address";B4);B4)

Cela dit, j'ai encore appris quelque chose et rien que pour çà mais aussi pour le temps que tu consacres aux autres, merci beaucoup

Claude

Le 15/11/2014 21:58, pierre-yves samyn a écrit :
Bonjour


claude-2 wrote
J'ai crée une fonction pour remplacer les lettres accentuées et autre ç.
...Si on lance la fonction par la procédure "principal", le retour est
"vide", mais si on l'utilise dans une cellule de classeur par
testerchaine(a1) avec a1 vide, elle renvoie 0.
Deux pistes...

1. Ne pas utiliser de fonction mais associer une  procédure à l'événement
"Contenu modifié" de la feuille.

Il faut alors tester ce qui provoque la modification. S'il s'agit
d'une cellule et si elle fait partie de celles à "inspecter", tu
fais ton traitement.

2. Modifier la fonction pour qu'elle ne reçoive plus le contenu d'une
cellule mais ses références sous forme de texte.

Ainsi ton programme peut accéder "classiquement" à la celllule et
faire la différence entre vide, non vide, texte, etc.

Naturellement, passer la référence de la cellule sous forme de texte
serait gênant pour copier ou déplacer la cellule contenant la formule:
un texte n'est pas "relatif" et la référence ciblée ne serait pas mise
à jour. On évite cet écueil en passant la référence via la formule
CELLULE("address"; xx).

Pour finaliser le truc, on passe aussi la cellule  ciblée comme
deuxième paramètre de la formule. Ce paramètre n'est pas
utilisé dans le programme. Il ne sert qu'à provoquer le recalcul
quand la cellule ciblée est modifiée.

Ci-joint un exemple.
FonctionPersonnalisée.ods
<http://nabble.documentfoundation.org/file/n4129159/FonctionPersonnalis%C3%A9e.ods>

Cordialement
Pierre-Yves




--
View this message in context: 
http://nabble.documentfoundation.org/fonction-par-macro-tp4129089p4129159.html
Sent from the Users mailing list archive at Nabble.com.



--
Envoyez un mail à users+unsubscribe@fr.libreoffice.org 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

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.