hello,
il y a au moins deux solutions : 
- Créer un add-in. Pour cela consulter l'excellent tutoriel d'Hubert Lambert 
ici
- Utiliser un "wrapper" en basic qui va relier la fonction écrite en python à du basic qui peut définir des fonctions personnelles pour calc.
Pour la deuxième solution voici un exemple qui crée une nouvelle fonction qui inverse la chaîne de caractères contenue dans une cellule. 
1 - Tout d'abord je conseille fortement d'installer l'extension d'Hubert Lambert  
apso_v1.1.0.oxt qui se trouve 
ici. 
2 - Créer la fonction 
Reverse en python : 
a - Cliquer sur Menu 
Outils/Macros/Gérer les scripts python (il faut que l'extension 
apsos soit installée pour avoir ce menu)
b - Dans la fenêtre qui s'ouvre, sélectionner 
Mes Macros et cliquer sur le bouton 
Menu et choisir 
Nouveau Module.
c - L'appeler 
MesFonctionsPerso et cliquer sur le bouton 
OK.
d - Le module est alors disponible dans 
Mes Macros.
e - Le sélectionner et cliquer sur le bouton 
Menu.
f - Cliquer sur 
Modifier, le fichier python 
MesFonctionsPerso.py s'ouvre alors dans l'éditeur choisi pour l'extension apsos.
Si vous n'avez pas encore désigné un éditeur python pour apsos : 
1 - Menu 
Outils/Gestionnaire des extensions. Sélectionner 
Apsos et cliquer sur le bouton 
Options.
2 - Dans la fenêtre qui s'ouvre, cliquer sur le bouton 
Choisir et donner le chemin de votre éditeur python favori (moi j'utilise 
Geany  )
g - Dans votre éditeur coller ce code : 
h - Enregister le fichier.
3 - Maintenant que la fonction en python est définie, il faut s'attaquer à la partie "Basic"
4 - Dans Menu 
Outils/Macros/Gérer les Macros Sélectionner
 LibreOffice Basic... ou 
OpenOffice Basic...
5 - Dans la fenêtre qui s'ouvre, sélectionner 
Mes Macros et cliquer sur le bouton 
Gérer.
6 - Cliquer sur le bouton 
Nouveau et taper 
MesFonctionsPerso comme nom du module.
7 - L'éditer et remplacer le contenu du module par celui-ci : 
Code : Tout sélectionner
REM  *****  BASIC  *****
REM Keep a global reference to the ScriptProvider, since this stuff may be called many times:
Global g_MasterScriptProvider
REM Specify location of Python script, providing cell functions:
Const URL_Main = "vnd.sun.star.script:MesFonctionsPerso.py$"
REM &location=user pour les macros personnelles
Const URL_Args = "?language=Python&location=user"
Function getMasterScriptProvider()
   if NOT isObject(g_MasterScriptProvider) then
      oMasterScriptProviderFactory = createUnoService("com.sun.star.script.provider.MasterScriptProviderFactory")
      g_MasterScriptProvider = oMasterScriptProviderFactory.createScriptProvider("")
   endif
   getMasterScriptProvider = g_MasterScriptProvider
End Function
Function GetScript(NomFonction)
   sURL = URL_Main & NomFonction & URL_Args
   oMSP = getMasterScriptProvider()
   GetScript = oMSP.getScript(sURL)
end Function
function Reverse(LaChaine)
   script = GetScript("Reverse")
REM Pour éviter les erreurs de type on force la variable LaChaine en chaîne
   Reverse = script.invoke(Array(CStr(LaChaine)), Array(), Array())
end function
8 - Enregister. Quitter L.O ou O.O et relancer. 
9 - Voilà si je n'ai pas raconté de bêtises et si vous n'avez pas fait d'erreur la fonction Reverse devrait être  alors disponible dans calc :
Fonction Python - LibreOffice Calc.png
Vous pourrez ajouter aussi d'autres nouvelles fonctions en éditant les modules python et Basic 
MesFonctionsPerso.
Ami calmant, J.P
 
			
			
						Vous ne pouvez pas consulter les pièces jointes insérées à ce message.