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 !

« 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

Le , par Patrick Ruiz

79PARTAGES

11  0 
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
Code : Sélectionner tout
 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 :
Code : Sélectionner tout
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

Et vous ?

Que pensez-vous de cette nouvelle fonctionnalité ? Quelles perspectives entrevoyez-vous dans le cadre de son utilisation ?
Que pensez-vous d’Excel comme plateforme de développement informatique et de gestion de bases de données ?

Voir aussi :

Apprendre la programmation en VBA pour Excel par la pratique - Cinquième partie : protéger vos classeurs sensibles, un tutoriel de Laurent OTT
Microsoft annonce la fin du support de Word, Excel et PowerPoint Viewer et recommande les solutions accessibles via Windows 10 et Office 365
Pensez-vous que VBA n'est pas un langage professionnel ? Un développeur s'essaie à créer une application de discussion de groupe avec Excel et VBA

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

Avatar de Canvas
Membre averti https://www.developpez.com
Le 07/12/2020 à 17:40
Bonsoir,

Sachant qu'il y avait déjà la fonction LET, Excel est en train de devenir un langage fonctionnel
2  0 
Avatar de schlebe
Membre régulier https://www.developpez.com
Le 12/12/2020 à 8:40
Très intéressant mais dommage qu'il n'est pas expliqué que l'avantage est surtout de pouvoir définir des fonctions personnelles dans des fichiers XLSX et non plus XLSM ce qui permet de déployer plus facilement les fichiers Excel car ils ne sont plus considérés de la même façon par les antivirus.
1  0 
Avatar de tanaka59
Membre expert https://www.developpez.com
Le 07/12/2020 à 21:02
Bonsoir,

« Les formules Excel sont le langage de programmation le plus utilisé », d’après Microsoft
En soi c'est de la logique informatique et / ou mathématique , fonction de la formule usitée.

Que pensez-vous de cette nouvelle fonctionnalité ?
Cela va permettre d'ouvrir un peu plus les possibilités en terme création de fonction.

Quelles perspectives entrevoyez-vous dans le cadre de son utilisation ?
Je pense à des cas en gestions de BDD par exemple, des fonctions de dédoublement , des fonctions de découpe de chaines ...

Que pensez-vous d’Excel comme plateforme de développement informatique et de gestion de bases de données ?
Les services consommateurs de data sans pour autant avoir des développeurs (gestion,supply chain, commercial, ordonnancement, planification de prod ou de call center ... ) , je pense aussi aux pme/tpe/pmi qui veulent des outils efficaces avec parfois des utilisations d'addon payant pour le reporting. Franchement c'est d'une efficacité redoutable .

Je vois bien des exemples d'utilisations avec extraction de la BDD et avec des addons sur Excel le marketing s'éclate a y faire son targeting

Excel reste très puissant.

Maintenant avec Power Pivot en sus on atteint des niveaux d'utilisations qui dépassent l'inimaginable ...
0  0 
Avatar de cgambas
Membre à l'essai https://www.developpez.com
Le 12/12/2020 à 10:45
Personnellement je me serai contenté de eval (expression) comme en javascript ...
Franchement, je ne voie pas l'innovation..
0  2 
Avatar de denis18
Membre habitué https://www.developpez.com
Le 03/01/2021 à 21:43
Pour des applications mono-poste ou avec un faible nombre de participants simultanés les logiciels Microsoft se montre efficace.

Mais montre leurs limites sur des systèmes répartie a grande échelle, bien que je ne connaisse rien à Azur ni à leurs Cloud je parle de ces applications personnelles comme il se doit l'éducation national ayant réparti le maximum de ces logiciels parmi les étudiants.

Alors ces formules qui leurs sont consacrées semblent les meilleurs et les plus utilisées cependant il faut remarquer que si l'on dit cela de cette façon alors que ces formulations sont presque toutes aussi proche mais évidemment différentes selon les langages informatiques et comme le logiciel Mathématica qui lui sait encore mieux évaluer des expressions complexes pour les factoriser et utilise le calcul formel par exemple alors qu'Excel doit bien sûr en être incapable mais je n'en suis pas sûr, pour vérifier cela Open Office sait additionner 1/3+1/3+1/3=1 alors qu'une calculatrice ordinaire à quatre opérations ne sais pas le faire.

Il y en a d'autres...

0  2