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 à [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