You are currently viewing Office scripts: Un soupçon de JavaScript dans vos fichiers Excel

Dans un article récent, nous avons expliqué comment vous pouvez utiliser Python nativement dans Excel:

lien vers l'article sur Python dans Excel
https://3hibouks.be/actualite/intelligence-artificielle-python-et-excel-lunion-parfaite/
Vous n’êtes pas fan de Python et préférez JavaScript? Pas de problème. Avec Office scripts, vous pouvez maintenant enregistrer vos actions pour créer une macro ou éditer directement du code, comme avec VBA. Sauf que le code en question ne sera pas du VBA mais du TypeScript, c’est-à-dire du JavaScript un peu plus strict: toutes les variables doivent être initialisées avec un type pré-défini. Par exemple, pour extraire la valeur d’une ou plusieurs cellules, on utilisera:
  • 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):
versions d'Excel compatibles avec Office scripts
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».

enregistrement d'actions avec Office scripts

Par exemple, sélectionnons quelques cellules, changeons la couleur de leur arrière-plan et regardons à quoi ressemble le code généré:

example de script Office scripts

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».

ajouter Office script dans Excel

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:

introduction de paramètres dans un script Office scripts

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:

lien vers l'article low code node + modèles d'intelligence artificielle spécialisés
https://3hibouks.be/actualite/intelligence-artificielle-modeles-specialises-low-code-no-code-le-combo-gagnant/

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»:
intégration de Power Automate et Excel
  • soit dans l’éditeur de code, en affichant le menu popup du script correspondant:

intégration de Power Automate et Excel

Pour vous aider dans la création de ce flux, Microsoft propose toute une série de modèles pré-construits:

templates Power Automate

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
lancement de l'exécution d'un script Office scripts par une action Power Automate

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.

extrait de la liste des connecteurs disponibles dans Power Platform
https://learn.microsoft.com/en-us/connectors/connector-reference/connector-reference-microsoft-connectors

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:

À côté de VBA et Python, Office scripts offre donc une troisième façon d’étendre les fonctionnalités d’Excel. Pourquoi toutes ces alternatives? Comment choisir la meilleure pour vous? Nous y reviendrons plus en détail dans un prochain article.