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.