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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage C++ Discussion :

traduction EXCEL --> C++


Sujet :

Langage C++

  1. #1
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 153
    Points : 73
    Points
    73
    Par défaut traduction EXCEL --> C++
    Je me lance sur "langage" même si je ne suis pas très sûr du sous-forum C++ à utiliser pour cette discussion.

    Je cherche à traduire automatiquement/semi-automatiquement des classeurs Excel en code C++.
    Il s'agirait de pouvoir désigner une collection de cellules du classeur comme étant des entrées
    et une autre collection de cellules comme étant des sorties et d'avoir un outil qui génère le
    code C++ correspondant à l'application de toutes les formules du classeur aux entrées pour obtenir les sorties.
    Je ne m'intéresse pas du tout à la conversion du code VBA éventuellement contenu dans le classeur.



    Le produit "Translator C++ pour Excel" http://www.ultirisk.com/translator-for-excel/ est-il connu
    dans la communauté "developpez" en particulier par les développeurs C++ ? Si oui, et si vous avez pu l'essayer que pensez vous de la qualité du code C++ généré ? Auriez-vous une idée du
    coût de ce logiciel ?

    Par avance, merci de vos réponses...

  2. #2
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 187
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 187
    Points : 17 135
    Points
    17 135
    Par défaut
    Houla...

    as-tu réellement besoin de le faire en C++?
    quelle est ton entrée exacte?
    quelle est ta sortie exacte?

    Il s'agit d'un programme qui prend une liste de définitions de type nom de cellule -> formule, et produit une liste d'assignation de la forme nom de cellule -> valeur

    Dans l'ensemble, ton processus consiste à:
    chercher les dépendances entre les différentes cellules pour construire un graphe orienté de formules
    remplacer tant que c'est possible chaque formule qui ne dépend que de valeurs par sa valeur, jusqu'a ce qu'il n'y ait plus que des valeurs.

    C'est relativement simple.

    Ce qui l'est problement moins, c'est de créer une représentation C++ (en l'occurence) de ces formules, et annexement d'écrire la traduction entre cette forme C++ et la forme proposée à l'utilisateur (fichier Excel ou OpenDocument, ou pourquoi pas csv ou xml)

    Cela dit, ca n'est pas atrocement compliqué, car la liste de fonction est finie
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  3. #3
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 153
    Points : 73
    Points
    73
    Par défaut it's a long work !
    J'utilise depuis quelques années un analyseur/générateur qui parse des feuilles Excel et génère du code (j'étais parti sur le Pascal comme cible mais ce pourrait être du C ou du Fortran).
    Pour l'instant cet outil ne fonctionne pas 100% automatiquement et on ne peut pas considérer qu'il fait de la compilation à la volée (ce que je recherche).
    Par ailleurs il ne fonctionne que pour les formules dont le résultat est numérique, dès qu'il y a des traitements de chaines de caractères intermédiaires il ne sait pas faire.
    Si je ne trouve pas une solution robuste et abordable je vais poursuivre la mise à niveau de mon outil !

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 113
    Points : 32 960
    Points
    32 960
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par Négrier Voir le message
    compilation à la volée (ce que je recherche).
    Par ailleurs il ne fonctionne que pour les formules dont le résultat est numérique, dès qu'il y a des traitements de chaines de caractères intermédiaires il ne sait pas faire.
    Pour faire un tel truc l'utilisation du C, ou de tout langage compilé, est de loin une très mauvaise idée.
    A l'inverse Python, et n'importe quel truc interprété, fera le café aisément.

    Cela dit, ton idée initial me parait au mieux farfelu

    Je cherche à traduire automatiquement/semi-automatiquement des classeurs Excel en code C++.
    Ca veut dire quoi ça ? Traduire un classeur en code C++ ?
    Un classeur c'est juste un tableau de données, quel rapport avec du code C++ ? Tu veux transformer un classeur excel en un truc qui fait les calculs de façon linéaire et sorte un résultat ? Pourquoi ne pas faire juste le calcul dans Excel justement qui est fait pour ça ?

    code C++ correspondant à l'application de toutes les formules du classeur aux entrées pour obtenir les sorties.
    Ca fait cher la calculatrice spécifique. Encore une fois Excel est là pour ça, il est inutile et passer par un programme compilé en C++ pour faire de tels calculs.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  5. #5
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 187
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 187
    Points : 17 135
    Points
    17 135
    Par défaut
    En fait, la question qui nous taraude tous, c'est "pourquoi veux-tu faire cela?"

    LibreOffice propose un mode ligne de commande, capable par exemple de calculer un classeur et de l'exporter en pdf.
    Il propose aussi une bibliothèque permettant de travailler directement depuis un programme.
    Comme de plus il y a moyen d'automatiser la traduction xls-odt, je pense qu'en quelques lignes de commande, c'est vite bouclé.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  6. #6
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 153
    Points : 73
    Points
    73
    Par défaut Je suis intéressé par le comment et pas par le pourquoi !
    Si on part du principe qu'un document Excel c'est Un classeur c'est juste un tableau de données (cf Bousk) alors effectivement on est loin du compte. Dans mon domaine (scientifique et technique) on arrive à créer des classeurs qui permettent d'effectuer des calculs extrêmement complexes (Attention : je dis bien des classeurs avec plein de petites formules dans les cellules et pas DU TOUT de VBA). L'avantage d'EXCEL est de permettre une programmation déclarative (un peu à la manière d'un système expert) souvent conviviale pour des tronches en sciences/techniques un peu allergiques au codage (type C++). Le défaut d'EXCEL (pour ce type d'utilisation) est son non déterminisme qui peut impliquer :

    • une difficile reprise sur erreur
    • de sérieux problèmes pour reprendre le travail d'un autre
    • des performances parfois désastreuse.



    La traduction d'un classeur Excel en un code déterministe permet :

    • de détecter beaucoup plus facilement les erreurs de calculs (dues par exemple à des incohérences logiques)
    • d'obtenir de bien meilleures performances



    Ainsi, ma propre expérience avec MON analyseur/générateur m'a permis de traduire un classeur Excel très important en un code pascal de plusieurs centaines de millier de lignes mais divisant le temps de calcul par 1000 !
    Bien entendu le code produit correspond à un ensemble de chemins d'exécution déterminé et implique évidemment une perte de souplesse par rapport au classeur Excel original.

    Le code généré est donc "relativement lisible", déterministe et beaucoup plus efficace. On peut l'intégrer compilé sous forme d'une DLL (par exemple) qui peut être intégrée dans une chaîne de calcul pouvant fonctionner dans un
    environnement informatique pour lequel Excel ne peut pas être installé.

    Une remarque de fond sur vos réponses :

    J'espère qu'il est toujours légitime de soumettre sur ce forum des problématiques sans qu'il soit nécessaire de justifier pourquoi on les soumet.
    Libre aux membres du forum de s'y intéresser ou pas !
    Bref, je ne suis pas intéressé par un jugement de valeur sur la problématique que j'ai proposé.
    Par ailleurs j'ai quand même l'impression en naviguant sur le web que je ne suis pas le seul à m'y être intéressé.

  7. #7
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    Je ne connais pas C++, mais je connais Excel. Cela m'inspire quelques avenues et/ou quelques remarques.


    Citation Envoyé par Négrier Voir le message
    Si on part du principe qu'un document Excel c'est Un classeur c'est juste un tableau de données (cf Bousk).
    Je dirais même pas un tableau de données. Depuis Office 2007, un fichier Excel, c'est essentiellement un conteneur au format compressé ZIP qui contient des documents XML (les données et les informations de format des données) et d'autres éléments, essentiellement binaires comme les macros et les images. C'est le format Open XML, documenté et reconnu comme un standard ISO. Même que Microsoft a développé un SDK qui est maintenant "Open Source". Pour avoir une idée du contenu du classeur Excel, tu peux changer l'extension en zip et l'ouvrir dans un programme de compression en zip, ou utiliser l'outil du SDK ou Package Explorer.

    Je ne peux pas t'aider pour la conversion proprement dite, mais je peux quand même te dire ceci. Si ton C++ c'est le VC++ de Visual Studio, ou un autre C++ qui est compatible avec Microsoft .net. tu peux utiliser la dll DocumentFormatOpenXML.dll du SDK pour agir directement sur le fichier Excel, et même créer un fichier Excel sans avoir Excel.

    Et, si jamais tu as besoin, ou si tu as envie de l'essayer, VC++ est disponible gratuitement dans Visual Studio Community

    Et tu peux aussi fouiller à partir de là
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 113
    Points : 32 960
    Points
    32 960
    Billets dans le blog
    4
    Par défaut
    N'est-il pas possible avec le VBA d'écrire dans un fichier ?
    A ce moment-là, tu pourrais écrire une macro qui parse le document excel et traduit tout ça en lignes de codes C++ ? Si un simple main avec tout le code est acceptable.
    En tous cas ça ressemble plus à un problème traitable en VBA dans Excel qu'à du C++.

    J'espère qu'il est toujours légitime de soumettre sur ce forum des problématiques sans qu'il soit nécessaire de justifier pourquoi on les soumet.
    Libre aux membres du forum de s'y intéresser ou pas !
    Bref, je ne suis pas intéressé par un jugement de valeur sur la problématique que j'ai proposé.
    Par ailleurs j'ai quand même l'impression en naviguant sur le web que je ne suis pas le seul à m'y être intéressé.
    On voit passer tout et n'importe quoi par ici. Des personnes qui te demandent comment écrire un programme en C++ pour renommer un dossier alors que ce qu'ils veulent c'est faire un click droit pour le supprimer et en créer un nouveau du même nom, des personnes qui te soumettent du code qui crash alors qu'ils utilisent juste n'importe comment la lib en question, .....
    Donc non, désolé pour toi, mais le pourquoi n'est pas anodin. Parce qu'on va pas s'entêter à proposer une solution en C++ pour reboot ton ordinateur à heure fixe alors qu'il faut mettre en place une tâche/service dans ton système.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  9. #9
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 187
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 187
    Points : 17 135
    Points
    17 135
    Par défaut
    Citation Envoyé par Négrier Voir le message
    Une remarque de fond sur vos réponses :

    J'espère qu'il est toujours légitime de soumettre sur ce forum des problématiques sans qu'il soit nécessaire de justifier pourquoi on les soumet.
    Libre aux membres du forum de s'y intéresser ou pas !
    Bref, je ne suis pas intéressé par un jugement de valeur sur la problématique que j'ai proposé.
    Par ailleurs j'ai quand même l'impression en naviguant sur le web que je ne suis pas le seul à m'y être intéressé.
    Si on te demande pourquoi, c'est surtout parce que ton besoin n'est pas clair, et que la réponse à y donner est loin d'être trivialement évidente

    Si tu veux traduire un classeur spécifique à un calcul donné, alors il vaut probablement mieux coder ce calcul lui-même.
    Si tu veux au contraire coder un interpréteur de document xls arbitraire, c'est très distinct.

    Nous ne cherchons pas à juger le contexte du demandeur, mais à déterminer la réponse la plus adaptée: celle qui demandera le moins de travail pour répondre à son besoin.
    Et cela signifie en général s'assurer que le besoin exposé est le besoin réel, et pas un besoin issue d'une fausse piste pour résoudre un autre problème.

    Si on nous demandais comment faire décoller un avion sur une route, on commencerait par vérifier si une voiture ne serait pas suffisante pour le trajet à faire.
    Ce n'est pas que prendre l'avion soit une mauvaise idée, mais ce une voiture (voire un vélo ou même la marche) est souvent plus adaptée.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  10. #10
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 153
    Points : 73
    Points
    73
    Par défaut
    Reprenons au commencement :

    "Je cherche à traduire automatiquement/semi-automatiquement des classeurs Excel en code C++"

    Il ne s'agit pas d'analyser un document Excel stocké dans tel ou tel format mais d'extraire l'ensemble des formules du classeur (Excel mais ce pourrait tout aussi bien être un quelconque tableur du commerce ou open Source...), de désigner un sous ensemble de cellules comme étant les entrées (ou les données) et de désigner un autre sous-ensemble de cellules comme étant les sorties (ou les résultats) et d'en générer un code procédural (j'ai choisi le C++ comme cible car c'est celle utilisée
    dans le produit "Translator C++ pour Excel" [http://www.ultirisk.com/translator-for-excel/] auquel je m'intéresse, mais ce pourrait tout aussi bien être du VB, du C#, du pascal...).

    • L'extraction de toutes les formules du classeur est une opération assez simple
    • Il faut ensuite analyser syntaxiquement ces formules extraites, déterminer un ordre de calcul de ces formules (compte-tenu des entrées et sorties choisies) et générer le code correspondant.



    J'ai pu réaliser un outil qui fait en gros ce travail mais qui n'est pas 100 % automatique ni très efficace (je parle de traiter des classeurs avec quelques millions de formules). Je cherche donc à savoir s'il existe un outil plus professionnel (licence open source ou commerciale) permettant de faire la même chose mais 100% automatique et beaucoup plus rapide.

    Je persiste : en cherchant sur la toile on peut constater que cette problématique est assez souvent discutée et qu'il existe d'ailleurs de tels outils, en particulier "Translator C++ pour Excel". Ma demande est relative à l'utilisation qui aurait pu être faite de ce soft (ou d'un autre similaire) par la communauté des développeurs. J'imagine que si une société commercialise un tel produit c'est qu'il y existe une demande. Vu sous cet angle vos demandes relatives au pourquoi me semblent, je persiste, totalement incongrues.

    Attention (1) (post de Clementmarcotte) : il existe de nombreux outils qui font une transformation purement formelle de documents Excel (mise sous forme html, traduction des libellés dans d'autres langues...) mais ce n'est pas du tout la problématique que je vous soumet ici.

    Attention (2) (post de Bousk) : le langage dans lequel est codé le "traducteur" n'a aucune importance. Le C++ est mentionné ici comme langage cible de la traduction car il se trouve que c'est celui choisi par l'outil "translator C++" auquel je fait référence . Et, effectivement, relativement aux problématiques liées à la non lisibilité du code sous-jacent à un classeur Excel le traduire sous forme d'un programme C++ me parait intéressant.

  11. #11
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 187
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 187
    Points : 17 135
    Points
    17 135
    Par défaut
    En fait, tu souhaites simplement utiliser un solveur / optimiseur autre que celui fournit par défaut dans l'application?

    Alors lis déjà cette petite série de tuto: modélisation et optimisation des décision dans la conception de jeux
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  12. #12
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 153
    Points : 73
    Points
    73
    Par défaut
    je ne sais pas si on peut qualifier le moteur interne à Excel de solveur. Quoi qu'il en soit le code C++ produit par "Translator C++ pour Excel" est un code déterministe (calcul direct des sorties à partir des entrées) et ce code C++ produit n'est ni un solveur ni un optimiseur.

    Mon interrogation est relative à l'éventuelle utilisation du produit "Translator C++ pour Excel" (ou d'un outil similaire) par des membres du forum et des critiques qu'ils peuvent en faire :

    • robustesse de l'outil (pour des gros classeurs)
    • rapidité de génération
    • qualité/lisibilité du code C++ généré (d'où mon ouverture de cette discussion dans cette rubrique)


    Il est effectivement possible que ce type de problématique, ce type d'outil n'intéresse pas les développeurs francophones (la plupart des sites sur le sujet sont en anglais)

  13. #13
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 187
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 187
    Points : 17 135
    Points
    17 135
    Par défaut
    Et bien, d'après les réponses ici:
    Nous ne voyons pas l'usage d'un tel programme.
    Nous ne l'avons pas utilisé, donc nous ne pouvons pas en faire une critique concrète.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  14. #14
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Citation Envoyé par Négrier Voir le message
    Reprenons au commencement :

    Attention (1) (post de Clementmarcotte) : il existe de nombreux outils qui font une transformation purement formelle de documents Excel (mise sous forme html, traduction des libellés dans d'autres langues...) mais ce n'est pas du tout la problématique que je vous soumet ici.
    Je n'ai jamais dit le contraire. Mais moi, je parle d'utiliser ces outils pour récupérer les données et tes formules de ton fichier Excel. Une fois que tu as récupéré ce dont tu as besoin, tu utilises des connaissances de C++ pour faire ta moulinette.

    Ceci dit, tu pourrais aussi lire Code Complete. Il y a un endroit où l'auteur parle d'une histoire d'optimisation. Un programme avait été optimisé pour obtenir la meilleure performance possible sur un compilateur particulier et cela allait plutôt bien. Le programme optimisé a été ensuite essayé sur un autre compilateur, et il était pire que la version originale non optimisée.

    Donc, décortiquer un fichier Excel pour qu'il fonctionne bien sur un compilateur particulier, ne garantit absolument pas que le travail sera équivalent sur un autre compilateur.

    Et puis, à la base même du problème : dans plusieurs cas, on peut (doit) bâtir des "formules" dans Excel en combinant, directement sur la feuille, ou par VBA, plus d'une fonction. Et le nombre de combinaisons possibles pour arriver au même résultat est extrêmement variable.

    Pour que ton application puisse à coup sûr et automatiquement traiter toutes les variations possibles de la "même solution Excel", cela me semble plutôt aléatoire. Pour quelque chose de "standard" comme le triangle de Pythagore, ou l'intégrale de Simpson, c'est peut-être plus simple, parce qu'il y a probablement pas 36 solutions dans Excel, mais pour le reste..

    Et juste entre nous, si le fabricant du traducteur dont tu parles a jugé bon de breveter sa technologie, cela doit être parce qu'il y a mis beaucoup de ressources, financières et autres.

    D'un autre côté, si tu veux une solution gratuite pour prendre un classeur Excel et en faire un exécutable et je ne prétends pas que c'est ce que tu veux, ni que c'est ce dont tu as besoin, tu peux regarder cela.
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  15. #15
    Membre régulier
    Inscrit en
    Juin 2004
    Messages
    153
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 153
    Points : 73
    Points
    73
    Par défaut
    Et bien, d'après les réponses ici:
    Nous ne voyons pas l'usage d'un tel programme.
    Nous ne l'avons pas utilisé, donc nous ne pouvons pas en faire une critique concrète.
    J'ai quand même l'impression que le sujet en titille certains. Et donc merci de votre participation.

    Citation Envoyé par clementmarcotte Voir le message
    tu utilises des connaissances de C++ pour faire ta moulinette.
    Comme je le signalais dans mon dernier post j'ai soumis cette problématique dans la rubrique "Langage C++" pour avoir votre opinion sur le code C++ généré par l'outil "Translator C++ pour Excel" et non pas sur la moulinette elle-même.

    J'attends d'une telle "moulinette" qu'elle produise un "code déterministe (calcul direct de certaines sorties à partir de certaines entrées) ", par opposition au "moteur interne à Excel" qui calcule TOUTES les formules.
    De facto le code déterministe généré est par essence plus rapide que le traitement Excel correspondant du fait justement du déterminisme et parce qu'il ne correspond qu'à une sous-partie particulière du classeur source.
    Toute combinatoire a disparu du programme C++ cible.

    Pour que ton application puisse à coup sûr et automatiquement traiter toutes les variations possibles de la "même solution Excel"
    Justement non (comme expliqué dans un précédant post :
    de désigner un sous ensemble de cellules comme étant les entrées (ou les données) et de désigner un autre sous-ensemble de cellules comme étant les sorties (ou les résultats) et d'en générer un code procédural
    )

    Et juste entre nous, si le fabricant du traducteur dont tu parles a jugé bon de breveter sa technologie, cela doit être parce qu'il y a mis beaucoup de ressources, financières et autres.
    Tout à fait d'accord c'est la motivation de ma discussion : quelqu'un (de développez) aurait-il déjà testé ce produit ? Quelles critiques en formulez-vous ?

    J'avais déjà aperçu le site Ici le problème est qu'il faut disposer d'Excel en plus de l'EXE généré. Une des raisons pour laquelle j'ai besoin de la fameuse moulinette c'est justement parce que je veux faire tourner l'EXE cible dans un environnement sans installation EXCEL.

    J'insiste aussi sur le fait qu'il ne s'agit pas d'un "one shot" je veux pouvoir effectuer cette compilation à volonté (sinon, oui, je fais le portage à la main) : on peut considérer qu'il s'agit de rendre exécutable une spécification rédigée sous forme de classeur Excel. L'expert scientifique/technique décrit son modèle sous forme de formules Excel (et j'insiste : il peut y en avoir beaucoup et le modèle peut-être très complexe) et la moulinette génère le code C++ (pour la validation du modèle) qui est ensuite compilé sous forme d'exécutable utilisable sur une plate-forme sans installation Excel. DE fait le programme C++ généré est déterministe ce qui permet d'avoir des temps d'exécution très réguliers ce qui n'est pas le cas pour le calcul d'un classeur Excel.

  16. #16
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 187
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 187
    Points : 17 135
    Points
    17 135
    Par défaut
    Si tu tiens vraiment à étudier le produit, cherche une version d'essai ou une démo.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2013] Traduction Excel / VBA inopérante
    Par Henri1830 dans le forum Macros et VBA Excel
    Réponses: 22
    Dernier message: 14/12/2014, 14h10
  2. [OpenOffice][Tableur] Traduction langage macro excel en open office
    Par ickyknox dans le forum OpenOffice & LibreOffice
    Réponses: 2
    Dernier message: 19/03/2008, 13h05
  3. Traduction des fonctions Excel
    Par Toison dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 29/11/2007, 08h20
  4. Traduction DDE Excel en DDe Delphi
    Par potili2 dans le forum Delphi
    Réponses: 2
    Dernier message: 30/06/2007, 10h51
  5. Traduction d'un tableau excel
    Par Aitone dans le forum Excel
    Réponses: 5
    Dernier message: 04/01/2007, 14h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo