Résoudre les problèmes liés aux scripts Office

Lorsque vous développez des scripts Office, vous pouvez faire des erreurs. C'est bon. Vous disposez des outils pour vous aider à trouver les problèmes et à faire en sorte que vos scripts fonctionnent parfaitement.

Remarque

Pour obtenir des conseils de dépannage spécifiques aux scripts Office avec Power Automate, consultez Résoudre les problèmes liés aux scripts Office en cours d’exécution dans Power Automate.

Limites et exigences de la plateforme

Pour obtenir la liste détaillée des limitations de la plateforme scripts Office en raison d’Excel, de Power Automate ou d’autres technologies, consultez Limites et exigences de la plateforme avec les scripts Office.

Erreurs de script

Les erreurs de scripts Office appartiennent à l’une des deux catégories suivantes :

  • Erreurs ou avertissements au moment de la compilation
  • Erreurs d’exécution

Erreurs au moment de la compilation

Les erreurs et avertissements au moment de la compilation sont initialement affichés dans l’éditeur de code. Ceux-ci sont illustrés par les soulignements rouges ondulés dans l’éditeur. Elles s’affichent également sous l’onglet Problèmes en bas du volet Office Éditeur de code. La sélection de l’erreur donne plus de détails sur le problème et suggère des solutions. Les erreurs au moment de la compilation doivent être traitées avant d’exécuter le script.

Erreur du compilateur affichée dans le texte de pointage de l’éditeur de code.

Vous pouvez également voir des soulignements d’avertissement orange et des messages d’information gris. Ceux-ci indiquent des suggestions de performances ou d’autres possibilités où le script peut avoir des effets involontaires. Ces avertissements doivent être examinés de près avant de les ignorer.

Erreurs d’exécution

Les erreurs d’exécution se produisent en raison de problèmes de logique dans le script. Cela peut être dû au fait qu’un objet utilisé dans le script n’est pas dans le classeur, qu’un tableau est mis en forme différemment de celui prévu ou qu’il existe une légère différence entre les exigences du script et le classeur actuel. Le script suivant génère une erreur lorsqu’une feuille de calcul nommée « TestSheet » n’est pas présente.

function main(workbook: ExcelScript.Workbook) {
  let mySheet = workbook.getWorksheet('TestSheet');

  // This will throw an error if there is no "TestSheet".
  mySheet.getRange("A1");
}

Certaines erreurs d’exécution sont dues au dépassement des limites de la plateforme, par exemple en essayant d’écrire trop de données à la fois avec Excel sur le Web. Pour obtenir la liste complète des pièges potentiels, consultez Limites et exigences de la plateforme avec les scripts Office .

Messages de console

Les erreurs au moment de la compilation et de l’exécution affichent des messages d’erreur dans la console lorsqu’un script s’exécute. Ils donnent un numéro de ligne où le problème a été rencontré. N’oubliez pas que la cause racine d’un problème peut être une ligne de code différente de celle indiquée dans la console.

L’image suivante montre la sortie de la console pour l’erreur du compilateur explicite any . Notez le texte [5, 16] au début de la chaîne d’erreur. Cela indique que l’erreur se trouve sur la ligne 5, à partir du caractère 16. Console de l’éditeur de code affichant un message d’erreur « any » explicite.

L’image suivante montre la sortie de la console pour une erreur d’exécution. Ici, le script tente d’ajouter une feuille de calcul avec le nom d’une feuille de calcul existante. Là encore, notez la « Ligne 2 » qui précède l’erreur pour indiquer la ligne à examiner. Console de l’éditeur de code affichant une erreur à partir de l’appel « addWorksheet ».

Journaux de la console

Imprimez les messages à l’écran avec l’instruction console.log . Ces journaux peuvent vous montrer la valeur actuelle des variables ou les chemins de code qui sont déclenchés. Pour ce faire, appelez console.log avec n’importe quel objet en tant que paramètre. En règle générale, un string est le type le plus simple à lire dans la console.

console.log("Logging myRange's address.");
console.log(myRange.getAddress());

Les chaînes passées à console.log sont affichées dans la console de journalisation de l’éditeur de code, en bas du volet Office. Les journaux se trouvent sous l’onglet Sortie , bien que l’onglet soit automatiquement activé lorsqu’un journal est écrit.

Les journaux n’affectent pas le classeur.

L’onglet Automatiser n’apparaît pas ou Scripts Office non disponibles

Les étapes suivantes doivent vous aider à résoudre les problèmes liés à l’onglet Automatiser qui n’apparaît pas dans Excel.

  1. Vérifiez que votre licence Microsoft 365 inclut des scripts Office.
  2. Vérifiez que les cookies tiers sont activés (lors de l’utilisation de Excel sur le Web).
  3. Vérifiez que votre administrateur n’a pas désactivé les scripts Office dans le Centre d'administration Microsoft 365.
  4. Vérifiez que votre administrateur n’a pas configuré de stratégie de groupe pour bloquer les scripts Office (Windows uniquement).
  5. Installez WebView2 (Windows uniquement).
  6. Vérifiez que vous n’êtes pas connecté en tant qu’utilisateur externe ou invité à votre locataire.

Importante

Lorsque vous utilisez Excel avec Teams, les scripts Office ne sont pris en charge que dans Teams sur le web (pas Teams pour Windows, Mac, iOS ou Android).

Remarque

Il existe un problème connu qui empêche les scripts stockés dans SharePoint d’apparaître toujours dans la liste récemment utilisée. Cela se produit lorsque votre administrateur désactive les services Web Exchange (EWS). Vos scripts SharePoint sont toujours accessibles et utilisables via la boîte de dialogue de fichier.

Problèmes de planification d’un script

La planification d’un script nécessite une licence métier pour Microsoft 365. Cela est nécessaire pour le flux Power Automate qui alimente le script planifié. Les erreurs de ce flux sont affichées en cas de problèmes de planification. Vous devrez peut-être mettre à jour manuellement votre flux dans Power Automate, où il sera répertorié sous Mes flux.

La liste suivante présente les erreurs courantes que vous pouvez rencontrer.

  • L’heure UTC d’expiration du jeton d’accès est antérieure à l’heure UTC actuelle : trop de temps s’est écoulé entre la connexion au service et la planification du script. Rouvrez le script dans l’éditeur de code ou rechargez le classeur et réessayez de planifier.

Ressources d’aide

Stack Overflow est une communauté de développeurs prêts à vous aider à résoudre les problèmes de codage. Souvent, vous serez en mesure de trouver la solution à votre problème par le biais d’une recherche rapide Stack Overflow. Si ce n’est pas le cas, posez votre question et marquez-la avec la balise « office-scripts ». Veillez à mention vous créez un script Office, et non un complément Office.

Voir aussi