XL 2019 Extraire le "script" associé à un calcul Excel : possible?

KManu

XLDnaute Nouveau
Bonjour Chers tous!

J'espère que vous allez bien.
Ma question risque d'en faire sourire plus d'un mais je tente l'expérience.

Croyez vous qu'il soit possible d'extraire le "script" d'un ensemble de calculs effectués sur Excel et par la suite de l'appliquer à un langage de programmation tel que Anaconda?

Je n'arrête pas de me dire, que c'est forcement possible.

Merci et tous , et soyez gentil, je suis un "littéraire".;)

Bien cordialement
Manu
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour KManu,
C'est très certainement possible ... pour quelqu'un de chez Microsoft qui saurait ce qui se cache derrière les formules, et qui pourrait accéder au code d'XL.
Mais pour un extérieur à la firme, à mes yeux, même pas en rêves.:)
Le plus simple est de réécrire de façon mathématique les calculs menés puis de les traduire dans le bon langage.
 

Katido

XLDnaute Occasionnel
Bonjour à tous,

Il y a quand même la méthode Application.WorksheetFunction qui permet de faire ce travail.
Ça peut être intéressant si le calcul est complexe sans être trop long.
Voici 2 exemples :

Exemple 1 : [D16]=WorksheetFunction.Sum([B14], [B15]) qui est l'équivalent de la formule =SOMME(B14;B15) écrite dans la cellule D16
Dans ce cas, il serait évidemment plus simple d'écrire [D16]=[B14]+[B15]

Bien sûr, puisqu'on est en VBA, les valeurs des cellules peuvent être remplacées par des valeurs numériques ou des variables : msgbox WorksheetFunction.Sum(2, 1) affichera 3


Exemple 2 : [D12]=WorksheetFunction.fisherinv([B12]) qui est l'équivalent de la formule =FISHER.INVERSE(B12) écrite dans la cellule D12
Ce qui remplace avantageusement le calcul [D12]=(exp(2 * [B12]) - 1) / (exp(2 * [B12]) +1)

Attention, le nom de la fonction qui suit WorksheetFunction doit être écrit en anglais et la correspondance avec le nom français n'est pas toujours évidente. Et les ; doivent être remplacés par des virgules.

Bonne journée.
 

KManu

XLDnaute Nouveau
Bonjour à tous,

Il y a quand même la méthode Application.WorksheetFunction qui permet de faire ce travail.
Ça peut être intéressant si le calcul est complexe sans être trop long.
Voici 2 exemples :

Exemple 1 : [D16]=WorksheetFunction.Sum([B14], [B15]) qui est l'équivalent de la formule =SOMME(B14;B15) écrite dans la cellule D16
Dans ce cas, il serait évidemment plus simple d'écrire [D16]=[B14]+[B15]

Bien sûr, puisqu'on est en VBA, les valeurs des cellules peuvent être remplacées par des valeurs numériques ou des variables : msgbox WorksheetFunction.Sum(2, 1) affichera 3


Exemple 2 : [D12]=WorksheetFunction.fisherinv([B12]) qui est l'équivalent de la formule =FISHER.INVERSE(B12) écrite dans la cellule D12
Ce qui remplace avantageusement le calcul [D12]=(exp(2 * [B12]) - 1) / (exp(2 * [B12]) +1)

Attention, le nom de la fonction qui suit WorksheetFunction doit être écrit en anglais et la correspondance avec le nom français n'est pas toujours évidente. Et les ; doivent être remplacés par des virgules.

Bonne journée.
Bonjour Katido,

merci beaucoup pour la piste! :)
J'ai commencé une autoformation en Python, je verrai où cela me mène.

Manu :))
 
Dernière édition:

Statistiques des forums

Discussions
312 233
Messages
2 086 466
Membres
103 225
dernier inscrit
PAPA ALIOUNE HANE