IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Microsoft apporte JavaScript à Excel par l'intermédiaire d'une nouvelle API,
Pour permettre aux développeurs de créer des types de données personnalisés dans Excel

Le , par Bill Fassinou

133PARTAGES

3  0 
Microsoft étend son logiciel de feuille de calcul Excel avec l'ajout d'une nouvelle API JavaScript. En effet, après avoir remanié Excel avec ses propres types de données personnalisées en direct l'année dernière, Microsoft ouvre Excel pour donner aux développeurs la liberté de créer leurs propres types de données personnalisées qui peuvent contenir des images, des tableaux, et plus encore. L'API devrait être disponible en avant-première dans Excel dans le courant du mois.

D'innombrables solutions ont été construites dans Excel en utilisant uniquement du texte et des chiffres, mais au cours de son parcours de plusieurs années, le géant du logiciel a élargi les types de données avec lesquelles les utilisateurs peuvent travailler en mode natif dans son logiciel. Cela a commencé avec l'introduction des "types de données" Stocks et Geography de Microsoft en 2018 et ces types de données liées permettent à une seule cellule d'une feuille de calcul de contenir un ensemble vivant, connecté et riche d'informations sur des objets tels que des actions, des devises, des villes et des pays.



L'année dernière cependant, Microsoft a élargi cette vision en permettant aux clients de travailler avec leurs propres données en tant que type de données. Il est ainsi devenu possible de connecter automatiquement les données de son outil de business intelligence Power BI avec Excel et cette intégration a permis de découvrir les données publiées de Power BI dans Excel en tant que type de données structurées. Mercredi, Microsoft va plus loin encore avec l'introduction d'une nouvelle API JavaScript dans Excel dans le but d'aider les clients à créer des types de données personnalisés qui ont du sens pour leurs organisations.

« Les clients pourront créer leurs propres compléments et étendre ceux qui existaient déjà pour tirer parti des types de données, ce qui se traduira par une expérience plus intégrée et de nouvelle génération au sein d'Excel », explique Microsoft dans ses documents de presse. « Ils peuvent partager ces types de données à travers l'organisation et créer des add-ins ou des solutions qui connectent les types de données à leur propre service ou données. L'API donne du pouvoir aux utilisateurs et aux développeurs, leur permettant de mieux organiser, accéder et travailler avec leurs données », ajoute l'entreprise.

Microsoft explique en effet qu'Excel s'ouvrira ainsi à beaucoup plus de types de données personnalisées, notamment les cartes de contenu, les images, les matrices, les tableaux et les valeurs numériques formatées. Excel a depuis longtemps un support pour les macros et les add-ins, mais les nouvelles API JavaScript de Microsoft devraient rendre cela beaucoup plus efficace et plus facile à mettre en œuvre pour les développeurs.

« Ces structures plus flexibles vous donnent la possibilité d'organiser des données complexes sous forme d'objets et d'exposer ces données aux utilisateurs de manière plus naturelle. Vous pouvez partager la puissance des types de données à travers toute votre organisation et créer des add-ins ou des solutions qui peuvent connecter les types de données à votre propre service ou à vos données », a déclaré Wangui McKelvey, directeur général de Microsoft 365.

La nouvelle API JavaScript de Microsoft sera disponible en aperçu public lorsque la prochaine version des API Office.JS Preview sera déployée vers la fin de ce mois, mais on ne sait pas exactement quand cela sera déployé pour tous les utilisateurs de Microsoft 365. En outre, pour créer des types de données personnalisés, les utilisateurs auront besoin de l'API Office.JS Preview ainsi que d'une version Insiders Beta d'Excel pour Windows ou Mac.

Source : Microsoft

Et vous ?

Quel est votre avis sur le sujet ?
Que pensez-vous de la nouvelle API JavaScript d'Excel ?
Quels sont les avantages qu'elle pourrait apporter aux organisations ?

Voir aussi

« Les formules Excel sont le langage de programmation le plus utilisé », d'après Microsoft qui annonce donc LAMBDA pour la création des fonctions personnalisées à partir des formules Excel

Excel : Microsoft ajoute la possibilité d'écrire des fonctions personnalisées en JavaScript, mais également des fonctions d'apprentissage automatique

Apprendre la programmation en VBA pour Excel par la pratique - Cinquième partie : protéger vos classeurs sensibles, un tutoriel de Laurent OTT

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de
https://www.developpez.com
Le 04/11/2021 à 9:19
VBA est criticable à bien des aspects. Pour autant JavaScript ne lui arrive pas à la cheville. Quelle mouche a piqué Microsoft ?
4  2 
Avatar de calvaire
Expert confirmé https://www.developpez.com
Le 05/11/2021 à 21:20
j'ai jamais bossé dans excel, vba et js.
mais n'était t'il pas possible de créer un runtime vba en javascript qui s'exécuterais dans la navigateur ? afin de ne pas obliger les entreprises a recoder leurs macro ?
on arrive à créer des émulateurs x86 en js alors...

J'ai une remarque générale, du peu que j'ai vu, je trouve que les entreprises utilisent mal excel.
Ils s'en servent comme BDD, pour gérer la compta ou pour transmettre des formulaires dégelasse et pas ergonomique.
et les salariées se transmettent le fichier par clé usb
1  0 
Avatar de Pierre Fauconnier
Responsable Office & Excel https://www.developpez.com
Le 04/11/2021 à 9:31
Salut

Citation Envoyé par Bill Fassinou Voir le message
[...]
Que pensez-vous de la nouvelle API JavaScript d'Excel ?
Quels sont les avantages que cette nouvelle API apporte aux organisations ?[...]
Elle n'est pas encore déployée et on n'a pas encore pu la tester... Je ne vois donc pas trop l'intérêt de ces deux questions, dans la mesure où je ne vois pas trop comment on pourrait déjà y répondre ^^

Citation Envoyé par Jeff_67 Voir le message
VBA est criticable à bien des aspects. Pour autant JavaScript ne lui arrive pas à la cheville. Quelle mouche a piqué Microsoft ?
L'intérêt est que, probablement, on pourra utiliser l'api au départ de l'explorateur Internet lorsque l'on utilise Excel In the cloud, et donc créer des fonctions personnalisées utilisables dans ce contexte, là où le VBA est inopérant. Il existe déjà la possibilité d'utiliser des scripts JavaScript sur un fichier ouvert dans le cloud, mais jusqu'ici, mes tests ont révélés qu'on ne pouvait pas encore faire grand chose. Par contre, en local, je ne vois pas encore trop l'intérêt de multiplier les langages, et le VBA permet de répondre à beaucoup de besoins...

Wait and See...
0  0 
Avatar de grunk
Modérateur https://www.developpez.com
Le 04/11/2021 à 15:45
Citation Envoyé par Pierre Fauconnier Voir le message

L'intérêt est que, probablement, on pourra utiliser l'api au départ de l'explorateur Internet lorsque l'on utilise Excel In the cloud, et donc créer des fonctions personnalisées utilisables dans ce contexte, là où le VBA est inopérant. Il existe déjà la possibilité d'utiliser des scripts JavaScript sur un fichier ouvert dans le cloud, mais jusqu'ici, mes tests ont révélés qu'on ne pouvait pas encore faire grand chose. Par contre, en local, je ne vois pas encore trop l'intérêt de multiplier les langages, et le VBA permet de répondre à beaucoup de besoins...

Wait and See...
Sans compter que aujourdhui il est surement plus simple de trouver des personnes compétentes en JS qu'en VBA.
0  0 
Avatar de Pierre Fauconnier
Responsable Office & Excel https://www.developpez.com
Le 04/11/2021 à 16:02
Citation Envoyé par grunk Voir le message
Sans compter que aujourdhui il est surement plus simple de trouver des personnes compétentes en JS qu'en VBA.
Il ne suffira peut-être pas d'être compétent en js, il faudra aussi être compétent en Excel, et je pense qu'on trouve plus vite des compétences EXCEL/VBA que des compétences EXCEL/js, mais je pense que l'enjeu va au delà.

JS permettra de travailler sur fichiers cloudés, mais Microsoft va devoir redévelopper le modèle-objet Excel. Si la mayonnaise prend et que js est vraiment performant, alors, on pourra peut-être commencer à craindre qu'à terme, Excel ne tourne plus en local et que les nouvelles avancées ne seront pas reportées dans le modèle-objet VBA.

A voir. Je pense de toute façon qu'on a le temps de voir d'abord l'api être déployée sur les versions Insider pour faire remonter bugs et autres joyeusetés, puis un déploiement public. Il faut rester en veille technologique, en tout cas.
0  0 
Avatar de stardeath
Expert confirmé https://www.developpez.com
Le 04/11/2021 à 20:15
Citation Envoyé par Pierre Fauconnier Voir le message
Excel ne tourne plus en local et que les nouvelles avancées ne seront pas reportées dans le modèle-objet VBA.
c'est évident que c'est "l'avenir", je discutais encore la semaine dernière avec qqun qui est convaincu à 3000% par le cloud, et à quel point il économisait de l'argent en ayant plus rien chez lui.
à coté de ça, il se plaignait de ne plus trouver personne de compétent pour bosser sur des technos "lourdes", je me demande bien quel est son besoin vu qu'il veut tout dans les nuages XD
0  0 
Avatar de
https://www.developpez.com
Le 25/11/2021 à 13:03
Après avoir essayé d'utiliser Javascript sur Excel il y a quelques mois, est un souvenir qui maintenant me tient éloigné de cette techno. Office utilise du XML, les différentes versions n'étaient pas compatible, une vraie galère ou un bordel sans nom. Je reconnais que je n'utilisais pas Visual Studio qui offre des templates prédéfinis selon la version d'office et qui donc devrait faciliter les choses, j'utilisais un outil alternatif et le déploiement d'un simple script était une longue suite d'étape 3 fois plus longue que l'écriture d'un script vba.

Depuis peu, je me suis intéressé au développement web (pour des graphiques de données) et par hasard, je suis tombé sur des librairies pour écrire sur des fichiers xml, excel (xlsx, xlsm) et open office. La simplicité est déconcertante. Le langage peut se rapprocher à celui de VBA au niveau de la syntaxe (variables, boucles...). Les objets d'un classeur excel sont similaires à ceux de VBA. Bref, j'ai été stupéfais par la simplicité. Ajouté à cela la possibilité de singulariser un accès. Par exemple, plusieurs utilisateurs peuvent simultanément mettre à jour un classeur si une plage de données ou une feuille est dédiée à un accès par exemple par formulaire php. Donc, nombreux sont les exemples disponibles pour le développement web (avec des librairies comme bootstrap...). Il me semble que c'est même possible d'utiliser un classeur comme source de données pour par exemple alimenter des graphiques. Evidemment hors du contexte où la sécurité doit être élevée. Le classeur sera stocké sur le serveur et donc aucune sécurité. Mais ça sera hyper simple de mettre à jour les données d'un graphique plutôt que de passer par des requêtes sql et des conversions en json.

Il existe par ailleurs plusieurs librairies (phpspreadsheet, phpexcel...) et différentes versions. Juste pour l'installation, il faut un peu se creuser la tête ou utliser un module comme composer qui simplifie les choses mais il est également possible d'installer les fichiers sur le serveur. En plus, c'est compatible multi plateformes (Windows, Linux).

Au niveau de la documentation, j'ai trouvé de nombreuses ressources et un forum très actif depuis 2011 utilisé surtout par des pays orientaux (Inde, Chine...). On y trouve de nombreux exemples prêt à l'emploi et des questions réponses assez pointues (génération de classeur excel, pdf, format de caractères...). Il y a quelques posts sur developpez.net mais dans le forum dédié à php.

Le seul inconvénient est la nécessité de fonctionner en mode client/serveur (comme javascript) mais la config du serveur doit se faire manuellement. Pour une ouverture réseau externe, c'est donc risqué à moins d'avoir un réseau très sécurisé avec un vpn et des sauvegardes régulières. Sinon, il me semble que pour mitiger les risques, un accès en rdp sur une machine qui héberge le serveur avec quelques options de sécurité et il n'y a pas d'ip exposée sur le www.

Je ne suis pas sûre de comprendre le choix de Microsoft de vouloir imposer une techno (Javascript) difficile à mettre en oeuvre avec des concepts comme les fonctions synchrones et asynchrones, un langage web très orienté vers la gestion de données json, xml... bref tout sauf tabulaire alors qu'un classeur héberge par nature des données tabulaires.
0  0 
Avatar de _informix_
Membre actif https://www.developpez.com
Le 17/01/2022 à 8:17
Bonjour,

J'aurai aimé voir l'intégration de Python au sein d'office pour profiter des excellentes bibliothèques existantes et pour la faciliter qu'offre ce langage pour le développement de fonctions et de scripts.

Il y a des solutions tierces dans ce sens mais qui restent généralement instables.
0  0