Dans un article récent, nous avons expliqué comment vous pouvez utiliser Python nativement dans Excel:
- pour une cellule: cell.getValue() as number
- pour plusieurs cellules: range.getValues() as number[ ][ ] (tableau bi-dimensionnel)
1. Quelles versions d’Excel?
Comme toujours avec Microsoft, première question: votre version d’Excel est-elle compatible avec les scripts Office? Réponse à l’aide du site de Microsoft (données au 27.11.2025, voir https://learn.microsoft.com/fr-fr/office/dev/scripts/testing/platform-limits):2. Comment ça marche?
Pour avoir accès à cette fonctionnalité, dans Excel, cliquez sur le menu «Automatisation», puis sur «Enregistrer les actions».
Par exemple, sélectionnons quelques cellules, changeons la couleur de leur arrière-plan et regardons à quoi ressemble le code généré:
Une ligne pour la sélection de la feuille de travail, une ligne pour la sélection des cellules et le changement de leur couleur d’arrière-plan. Notons que ce script (simplissime) n’a qu’un seul paramètre d’entrée:
workbook: ExcelScript.Workbook
qui indique sur quel fichier il sera appliqué. Pour des utilisations plus avancées, vous aurez souvent besoin de plus de paramètres d’entrée, nous y revenons plus bas.
Comparons le code ainsi généré à son équivalent généré de la même façon avec VBA:
Ici, une ligne pour la sélection des cellules et une ligne (plusieurs lignes mais qui, techniquement correspondent à une seule et même commande) pour le changement de couleur d’arrière-plan MAIS aussi de 4 autres paramètres. Comportement typique de VBA, dont les utilisateurs savent qu’un code généré par enregistrement des actions doit impérativement être «nettoyé».
Pour permettre de lancer l’exécution du script à partir du workbook Excel via un bouton: dans l’éditeur de script, cliquez sur «Ajouter au classeur».
Vous pouvez bien sûr changer le texte qui apparaît dans ce bouton. Tous les utilisateurs disposant du droit d’écriture dans le fichier pourront utiliser ce bouton pour lancer l’exécution du script.
Comme indiqué plus haut, un script peut avoir besoin de plus de données d’entrée que la seule indication du fichier dans lequel il doit être exécuté. Avec Office scripts, ajouter des paramètres d’entrée se révèle d’une simplicité enfantine, il suffit de les ajouter en arguments de la fonction:
Lors de l’exécution du script, l’interface utilisateur nécessaire à l’insertion de ces données est générée automatiquement:
Bien sûr, les possibilités d’Office scripts dépassent largement cet exemple simplissime.
Par contre, une des principales limitations est qu’il est impossible de faire appel à des librairies externes. Mais des alternatives parfaitement fonctionnelles existent.
3. Interactions avec d’autres applications Microsoft
Contrairement à VBA, il n’est par contre pas possible de connecter différentes applications Microsoft juste avec Office scripts. Pour ce faire, il vous faudra passer par Power Automate (et l’abonnement supplémentaire correspondant). Pour plus d’informations sur Power Automate, voyez notre article sur le low code/no code:
Pour rappel, dans cet article nous montrions entre autres à quoi pouvait ressembler une formule native de Power Automate:
Pouvoir remplacer ce type de formule par un script Office, ça change évidemment la vie!
La bonne nouvelle, c’est que Power Automate et Excel sont parfaitement intégrés. Vous pouvez initier la création d’un flux Power Automate sans sortir d’Excel de deux manières différentes:
- soit via le menu «Automatisation», puis «Automatiser une tâche»:
soit dans l’éditeur de code, en affichant le menu popup du script correspondant:
Pour vous aider dans la création de ce flux, Microsoft propose toute une série de modèles pré-construits:
Il y a deux actions de Power Automate qui permettent de lancer l’exécution d’un script Office:
- Run script from SharePoint library pour un script dans une librairie SharePoint
- Run script pour un script sur OneDrive
4. Connexion à des applications externes
4.1. Connecteurs Power Automate
Une fois dans Power Automate, vous avez bien sûr accès à l’impressionnante liste de connecteurs proposée par Microsoft.
4.2. Appels d’API externes
Si l’application avec laquelle vous souhaitez interagir ne se trouve pas dans cette liste, Power Automate vous permet aussi d’y faire appel, à condition qu’elle dispose d’une API, par exemple avec des entrées et sorties de données en format JSON, voir par exemple: https://learn.microsoft.com/en-us/office/dev/scripts/develop/use-json.
Conclusion
Si vous avez déjà des connaissances en JavaScript ou TypeScript, Office scripts est sûrement une solution que vous devriez investiguer, a fortiori si l’essentiel de vos besoins concerne des applications internes à Excel.
Si vous avez besoin de pouvoir faire interagir Excel avec d’autres applications, vous aurez besoin également de Power Automate et/ou des compétences techniques nécessaires pour mettre en place des appels à des API externes. Dans ces deux cas, soyez vigilant(e) aux aspects de sécurité, voir par exemple:
- Consignes de sécurité lors de l’utilisation de connecteurs Power Platform: https://learn.microsoft.com/en-us/connectors/protection
- Mesures de sécurité lors de l’appel à des API externes: https://api-ninjas.com/blog/best-security-practices-external-apis.
Partager :
- Cliquez pour partager sur LinkedIn(ouvre dans une nouvelle fenêtre) LinkedIn
- Cliquer pour partager sur X(ouvre dans une nouvelle fenêtre) X
- Cliquez pour partager sur Facebook(ouvre dans une nouvelle fenêtre) Facebook
- Cliquer pour envoyer un lien par e-mail à un ami(ouvre dans une nouvelle fenêtre) E-mail
- Cliquer pour imprimer(ouvre dans une nouvelle fenêtre) Imprimer
- Plus
- Cliquez pour partager sur Pinterest(ouvre dans une nouvelle fenêtre) Pinterest
- Cliquez pour partager sur Reddit(ouvre dans une nouvelle fenêtre) Reddit
- Cliquez pour partager sur Telegram(ouvre dans une nouvelle fenêtre) Telegram
- Cliquez pour partager sur Tumblr(ouvre dans une nouvelle fenêtre) Tumblr
- Cliquez pour partager sur WhatsApp(ouvre dans une nouvelle fenêtre) WhatsApp
