Macros/Calc/013/fr

Comment lister les fonctions disponibles dans le tableur ?
On souhaite récupérer dans un tableau la liste des fonctions du tableur, y compris celles de la catégorie Add-In.

Nous utilisons pour cela le service FunctionDescriptions qui renvoie cette collection. Les éléments retournés sont des structures dont les propriétés sont collectées dans le service FunctionDescription.

Ces propriétés sont :

La procédure crée la liste des fonctions dans la première feuille du classeur, colonnes A à D.
 * Nom
 * Catégorie
 * Arguments
 * Description

La liste des arguments d'une fonction est une structure FunctionArgument.

Seule nous intéresse ici la propriété Name de cette structure, contenant le ou les arguments. Les fonctions n'ont pas toutes un argument : PI, VRAI, ALEA, etc. n'en utilisent pas par exemple. La procédure teste cela par la fonction ISEMPTY. Si la propriété n'est pas vide (il y a des arguments), une boucle sur ces derniers alimente une variable tableau provisoire qui sera ensuite "jointe" via l'instruction JOIN. Cette astuce permet d'insérer le séparateur ";" entre chaque argument.

La catégorie nécessite également un traitement particulier car la propriété retournée par le service est de type long. Il s'agit de constantes FunctionCategory. La traduction en chaîne de caractères est assurée par la fonction PysLibCateg.

Code de la macro :

[[Media:FR.MACROS Calc 013 ListerFonctions.ods|Télécharger le classeur exemple]]

Notes :