Résoudre les problèmes liés aux scripts Office en cours d’exécution dans Power Automate

Power Automate exécute des scripts en votre nom dans des sessions Excel indépendantes. Cela entraîne des modifications comportementales susceptibles de créer des problèmes avec certains scripts ou scénarios. Il existe également des limitations et des comportements que les rédacteurs de scripts de plateforme Power Automate doivent connaître. Veillez à lire les articles Résoudre les problèmes liés aux scripts Office et aux limites et exigences de la plateforme avec les scripts Office, car la plupart de ces informations s’appliquent également aux scripts dans les flux.

Conseil

Si vous commencez à utiliser des scripts Office avec Power Automate, commencez par Exécuter des scripts Office avec Power Automate pour en savoir plus sur les plateformes.

Importante

Pour utiliser des scripts Office dans Power Automate, vous devez disposer d’une licence professionnelle Microsoft 365. Les licences Office 365 Entreprise E1 et Office 365 F3 peuvent utiliser des scripts avec Power Automate, mais n’ont pas d’intégrations Power Automate directement dans Excel.

Éviter les références relatives

Power Automate exécute votre script dans le classeur Excel choisi en votre nom. Le classeur peut être fermé lorsque cela se produit. Toute API qui s’appuie sur l’état actuel de l’utilisateur, telle que Workbook.getActiveWorksheet, peut se comporter différemment dans Power Automate. Cela est dû au fait que les API sont basées sur une position relative de la vue ou du curseur de l’utilisateur et que cette référence n’existe pas dans un flux Power Automate.

Certaines API de référence relatives lèvent des erreurs dans Power Automate. D’autres ont un comportement par défaut qui implique l’état d’un utilisateur. Lors de la conception de vos scripts, veillez à utiliser des références absolues pour les feuilles de calcul et les plages. Cela rend votre flux Power Automate cohérent, même si les feuilles de calcul sont réorganisées.

Méthodes de script qui échouent dans les flux Power Automate

Les méthodes suivantes lèvent une erreur et échouent lorsqu’elles sont appelées à partir d’un script dans un flux Power Automate.

Classe Méthode
Graphique activate
Range select
Classeur getActiveCell
Classeur getActiveChart
Classeur getActiveSlicer
Classeur getSelectedRange
Classeur getSelectedRanges

Méthodes de script avec un comportement par défaut dans les flux Power Automate

Les méthodes suivantes utilisent un comportement par défaut, au lieu de l’état actuel d’un utilisateur.

Classe Méthode Comportement de Power Automate
Classeur getActiveWorksheet Retourne la première feuille de calcul du classeur ou la feuille de calcul actuellement activée par la Worksheet.activate méthode .
Feuille de calcul activate Marque la feuille de calcul comme feuille de calcul active pour les besoins de Workbook.getActiveWorksheet.

L’actualisation n’est pas entièrement prise en charge dans Power Automate

Les scripts Office ne peuvent pas actualiser la plupart des données lorsqu’ils sont exécutés dans Power Automate. La plupart des méthodes d’actualisation, telles que PivotTable.refresh, ne font rien lorsqu’elles sont appelées dans un flux. Workbook.refreshAllDataConnections S’actualise uniquement lorsque PowerBI est la source. En outre, Power Automate ne déclenche pas d’actualisation des données pour les formules qui utilisent des liens de classeur.

Méthodes de script qui ne font rien dans les flux Power Automate

Les méthodes suivantes ne font rien dans un script lorsqu’elles sont appelées via Power Automate. Ils retournent toujours avec succès et ne génèrent aucune erreur.

Classe Méthode
PivotTable refresh
Classeur refreshAllPivotTables
Feuille de calcul refreshAllPivotTables

Méthodes de script avec un comportement différent dans Power Automate

Les méthodes suivantes agissent différemment dans les flux Power Automate que lorsqu’elles sont exécutées via Excel.

Classe Méthode Comportement de Power Automate
Classeur refreshAllDataConnections Actualise uniquement les sources PowerBI. Pour les autres sources, la méthode retourne correctement, mais ne fait rien.

Sélectionner des classeurs avec le contrôle d’explorateur de fichiers

Lors de la génération de l’étape Exécuter le script d’un flux Power Automate, vous devez sélectionner le classeur qui fait partie du flux. Utilisez l’explorateur de fichiers pour sélectionner votre classeur, au lieu de taper manuellement le nom du classeur.

L’action Exécuter le script Power Automate montrant l’option Afficher le navigateur de fichiers du sélecteur.

Pour plus de contexte sur la limitation de Power Automate et une discussion sur les solutions de contournement potentielles pour la sélection dynamique des classeurs, consultez ce thread dans la communauté Microsoft Power Automate.

Passer des tableaux entiers en tant que paramètres de script

Power Automate permet aux utilisateurs de passer des tableaux à des connecteurs en tant que variable ou en tant qu’éléments uniques dans le tableau. La valeur par défaut consiste à passer des éléments uniques, ce qui génère le tableau dans le flux. Pour les scripts ou autres connecteurs qui prennent des tableaux entiers en tant qu’arguments, vous devez sélectionner le bouton Basculer pour entrer l’intégralité du tableau pour passer le tableau en tant qu’objet complet. Ce bouton se trouve dans le coin supérieur droit de chaque champ d’entrée de paramètre de tableau.

Bouton permettant d’entrer un tableau entier dans une zone de saisie de champ de contrôle.

Différences de fuseau horaire

Les fichiers Excel n’ont pas d’emplacement ou de fuseau horaire inhérent. Chaque fois qu’un utilisateur ouvre le classeur, sa session utilise le fuseau horaire local de cet utilisateur pour les calculs de date. Power Automate utilise toujours l’utc.

Si votre script utilise des dates ou des heures, il peut y avoir des différences de comportement quand le script est testé localement et quand il est exécuté via Power Automate. Power Automate vous permet de convertir, de mettre en forme et d’ajuster les heures. Consultez Utilisation des dates et des heures à l’intérieur de vos flux pour obtenir des instructions sur l’utilisation de ces fonctions dans Power Automate et transmettre des données vers et à partir de scripts dans Power Automate pour savoir comment fournir ces informations d’heure pour le script.

Champs de paramètre de script ou sortie retournée n’apparaissant pas dans Power Automate

Il existe deux raisons pour lesquelles les paramètres ou les données retournées d’un script ne sont pas reflétés avec précision dans le générateur de flux Power Automate.

La signature d’un script est stockée avec le connecteur Excel Business (Online) lors de sa création. Supprimez l’ancien connecteur et créez-en un pour obtenir les paramètres les plus récents et retourner les valeurs de l’action Exécuter le script.

Voir aussi