Créer des fonctions personnalisées dans Excel

Les fonctions personnalisées permettent aux développeurs d’ajouter de nouvelles fonctions dans Excel en définissant ces fonctions dans JavaScript dans le cadre d’un complément. Les utilisateurs d’Excel peuvent accéder aux fonctions personnalisées comme ils le feraient pour n’importe quelle fonction native d’Excel, telle que SUM().

Remarque

Fonction personnalisée est un terme général qui est interchangeable avec la fonction définie par l’utilisateur. Les deux termes s’appliquent aux compléments VBA, COM et Office.js. La documentation des compléments Office utilise le terme fonction personnalisée lorsqu’elle fait référence à des fonctions personnalisées qui utilisent des API JavaScript Office.

Importante

Notez que les fonctions personnalisées Excel sont disponibles sur les plateformes suivantes.

  • Office pour Windows
    • Abonnement Microsoft 365
    • retail perpetual Office 2016 et versions ultérieures
  • Office sur Mac
  • Office sur le web

Les fonctions personnalisées Excel ne sont actuellement pas prises en charge dans les éléments suivants :

  • Office sur iPad
  • versions perpétuelles avec licence en volume d’Office 2019 ou version antérieure

L’image animée suivante montre votre classeur appelant une fonction que vous avez créée avec JavaScript ou TypeScript. Dans cet exemple, la fonction personnalisée =MYFUNCTION.SPHEREVOLUME calcule le volume d’une sphère.

Image animée montrant un utilisateur final insérant la fonction personnalisée MYFUNCTION.SPHEREVOLUME dans une cellule d’une feuille de calcul Excel.

Le code suivant définit la fonction personnalisée =MYFUNCTION.SPHEREVOLUME.

/**
 * Returns the volume of a sphere.
 * @customfunction
 * @param {number} radius
 */
function sphereVolume(radius) {
  return Math.pow(radius, 3) * 4 * Math.PI / 3;
}

Comment une fonction personnalisée est définie dans le code

Si vous utilisez le générateur Yeoman pour les compléments Office pour créer un projet de complément de fonctions personnalisées Excel, il crée des fichiers qui contrôlent vos fonctions et le volet Office. Nous allons nous concentrer sur les fichiers qui sont importants pour les fonctions personnalisées.

Fichier Format de fichier Description
./src/functions/functions.js
ou
./src/functions/functions.ts
JavaScript
ou
TypeScript
Contient le code qui définit les fonctions personnalisées.
./src/functions/functions.html HTML Fournit une référence<script> au fichier JavaScript qui définit les fonctions personnalisées.
./manifest.xml XML Indique l’emplacement de plusieurs fichiers utilisés par votre fonction personnalisée, tels que les fonctions personnalisées JavaScript, JSON et HTML. Il répertorie également les emplacements des fichiers du volet Office, des fichiers de commandes et indique le runtime que vos fonctions personnalisées doivent utiliser.

Conseil

Le générateur Yeoman pour les compléments Office offre plusieurs projets Fonctions personnalisées Excel . Nous vous recommandons de sélectionner le type de projet Fonctions personnalisées Excel à l’aide d’un runtime partagé et du type de script JavaScript.

Fichier de script

Le fichier de script (./src/functions/functions.js ou ./src/functions/functions.ts) contient le code qui définit des fonctions personnalisées et des commentaires qui définissent la fonction.

Le code suivant définit la fonction personnalisée add. Les commentaires du code sont utilisés pour générer un fichier de métadonnées JSON décrivant la fonction personnalisée pour Excel. Le commentaire obligatoire @customfunction est déclaré en premier, pour indiquer qu’il s’agit d’une fonction personnalisée. Deux paramètres sont ensuite déclarés, first et second, suivis de leurs propriétés de description . Enfin, une description returns est fournie. Pour plus d’informations sur les commentaires requis pour votre fonction personnalisée, voir Générer automatiquement des métadonnées JSON pour des fonctions personnalisées.

/**
 * Adds two numbers.
 * @customfunction 
 * @param first First number.
 * @param second Second number.
 * @returns The sum of the two numbers.
 */

function add(first, second){
  return first + second;
}

Fichier manifeste

Le fichier manifeste XML d’un complément qui définit des fonctions personnalisées (./manifest.xml dans le projet que le générateur Yeoman pour les compléments Office crée) effectue plusieurs opérations.

  • Définit l’espace de noms pour vos fonctions personnalisées. Un espace de noms s’ajoute à vos fonctions personnalisées pour aider les clients à identifier vos fonctions dans le cadre de votre complément.
  • Utilise les <éléments ExtensionPoint> et <Resources> propres à un manifeste de fonctions personnalisées. Ces éléments contiennent les informations relatives aux emplacements des fichiers JavaScript, JSON et HTML.
  • Spécifie le runtime à utiliser pour votre fonction personnalisée. Nous vous recommandons de toujours utiliser une exécution partagée, sauf si vous avez un besoin spécifique d’autre runtime, car un runtime partagé autorise le partage de données entre les fonctions et le volet Office.

Pour afficher un manifeste de travail complet à partir d’un exemple de complément, consultez le manifeste dans le l’un de nos exemples de dépôts Github de complément Office.

Conseil

Si vous allez tester votre complément dans plusieurs environnements (par exemple, dans le développement, la gestion intermédiaire, la version de démonstration, etc.), nous vous recommandons de maintenir un autre fichier manifeste XML pour chaque environnement. Dans chaque fichier manifeste, vous pouvez :

  • Spécifier les URL qui correspondent à l’environnement.
  • Personnaliser des valeurs de métadonnée telles que DisplayName et les étiquettes dans Resources pour indiquer l’environnement pour que les utilisateurs finaux puissent identifier un environnement correspondant du complément chargé indépendamment.
  • Personnaliser les fonctions namespace personnalisées pour indiquer l’environnement si votre complément définit des fonctions personnalisées.

En suivant ces conseils, vous simplifiez le processus de test et éviter des problèmes qui se produisent lorsqu’un complément est chargé indépendamment en même temps dans de nombreux environnements.

Co-édition

Excel sur le web et sur Windows connecté à un abonnement Microsoft 365 permettent aux utilisateurs finaux de co-éditer dans Excel. Si le classeur d’un utilisateur final utilise une fonction personnalisée, le collègue de co-création de cet utilisateur final est invité à charger le complément de fonctions personnalisées correspondant. Une fois que les deux utilisateurs ont chargé le complément, la fonction personnalisée partage les résultats via la co-édition.

Pour plus d’informations sur la co-création, voir À propos de la co-création dans Excel.

Étapes suivantes

Vous voulez essayer les fonctions personnalisées ? Consultez la documentation sur le démarrage rapide de fonction personnalisée ou le didacticiel sur les fonctions personnalisées.

Un autre moyen simple d’essayer des fonctions personnalisées consiste à utiliser Script Lab, un complément qui vous permet d’expérimenter des fonctions personnalisées directement dans Excel. Vous pouvez essayer de créer votre propre fonction personnalisée ou utiliser les exemples fournis.

Voir aussi