« 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 offre une multitude de fonctions dont les utilisateurs peuvent faire usage sur les feuilles de calcul. Toutefois, il est possible que le tableur ne dispose pas d’une fonction particulière requise par un utilisateur avec un besoin spécifique. Il faut donc la créer, ce que le logiciel de la suite Microsoft Office permet déjà au travers de Visual Basic for Applications (VBA). Microsoft étend la liste des possibilités avec LAMBDA – une fonctionnalité qui permet de créer des fonctions personnalisées et réutilisables à partir des formules Excel.
« Aujourd’hui, nous mettons à la disposition de nos clients bêta une nouvelle fonctionnalité qui va révolutionner la façon de mettre sur pied des formules dans Excel. Les formules Excel sont le langage de programmation le plus utilisé au monde, mais il manque un des principes de base de la programmation, à savoir la possibilité d’utiliser le langage de formules pour définir ses propres fonctions réutilisables », écrit la firme de Redmond.
LAMBDA([parameter1, parameter2, …,], calcul à effectuer) est la syntaxe de la nouvelle fonction disponible pour les utilisateurs arrimés au programme Insiders de Microsoft Office sur Windows et macOS. Illustration avec la fonction GETLOCATION définie comme
LAMBDA(stationID, LEFT(RIGHT(stationID,LEN(stationID)-FIND("-",stationID)),FIND("-",RIGHT(stationID,LEN(stationID)-FIND("-",stationID)))-1))
.
L’un des avantages de l’utilisation de LAMBDA fait alors surface : dans le cas de la nécessité d’une retouche seule la fonction personnalisée est à modifier. L’impact se répercute de façon automatique sur toutes les cellules qui s’appuient sur cette dernière. Microsoft dresse une liste additionnelle d’avantages parmi lesquelles l’ouverture à la récursivité des fonctions LAMBDA. Illustration avec la définition de la fonction REPLACECHARS qui intègre une référence à la même fonction :
REPLACECHARS =LAMBDA(textString, illegalChars, IF(illegalChars="", textstring, REPLACECHARS(SUBSTITUTE(textString, LEFT(illegalChars, 1), ""), RIGHT(illegalChars, LEN(illegalChars)-1)
.
Les développeurs pouvaient déjà écrire leurs propres scripts complexes avec Visual Basic for Applications (VBA). La fonctionnalité LAMBDA vient allonger une liste de possibilités dans laquelle on retrouve en sus JavaScript depuis plus de deux ans. Elle s’inscrit dans la liste d’autres récentes améliorations parmi lesquelles on retrouve la prise en charge de tableaux de données dynamiques : il est désormais possible de passer non pas une valeur unique à une fonction, mais un tableau de valeurs. Les fonctions peuvent également renvoyer des tableaux de valeurs. De plus, les données prises en charge au sein des cellules ne sont plus uniquement des chaînes de caractères ou des nombres, mais des types de données dotés d’une large gamme de propriétés.
Excel intègre aussi un support d’Azure Machine Learning sur lequel les utilisateurs peuvent s’appuyer pour utiliser les modèles d’apprentissage automatique que les data scientists, ou d’autres experts, de leur entreprise ont développés pour eux. Les fonctions d’apprentissage automatique sont chacune basées sur un service qui calcule ou prédit des valeurs avec un modèle d’apprentissage automatique. Une fois le modèle déployé, les auteurs peuvent l’activer pour tous ceux qu’ils choisissent.
Au sein d’une entreprise, les administrateurs peuvent configurer qui a accès aux fonctions propriétaires. Ensuite, chaque fois que quelqu’un veut exécuter la fonction, il suffit de taper sur une cellule, comme on le ferait pour n’importe quelle fonction Excel. La fonction appelle un service Web en direct sur l’abonnement Azure de la société et renvoie le résultat de manière asynchrone.
Il existe de nombreux types de fonctions utiles que les développeurs peuvent activer avec Machine Learning, tels que:
- la prévision intelligente, comme prédire la tendance des revenus futurs d’une entreprise basée sur des données de séries temporelles dans Excel ;
- les problèmes de classification pour de nombreuses lignes Excel, comme la détection de fraude à partir de transactions par carte de crédit ;
- du code Python personnalisé, comme une fonction d’analyse de texte dans les cellules.
Bref, Excel ne cesse de se doter d’atouts. En raison de cet état de choses, ce dernier est de façon régulière au centre de débats en lien avec sa place comme plateforme de développement informatique et de gestion des bases de données.
Source : Microsoft