Bonsoir,
pas la moindre idée pour te proposer une solution, mais une question.
Si ça marche avec Excel, pourquoi vouloir faire autrement ?
Si c'est une question de droit, tu peux mettre tout ou partie du calcul dans une macro protégée par mot de passe.
Ce n'est pas super sécurisé, mais d'un autre côté C# se décompile très facilement.
Bonjour,
Pourquoi je garde pas excel ?
=> Car c'est le but du logiciel, en plus des calculs il y a des mesures à l'aide de plusieurs appareils, une camera. Et plein de paramètres à sélectionner.
L'utilisateur final aura juste à sélectionner quelques paramètres et lancer la mesure. Les calcules et résultats sont ensuite sauvegarder dans une basse de donnée. Afin de pouvoir être recalculé si besoin. L'utilisateur lambda n'ayant pas forcément les connaissance pour les paramètres spécifique.
C'est un domaine d'actions très particulier que je ne connaissais pas. Je suis nouveau dans la société.
Action possible:
Utilisé Excel pour faire les calculs et relire Excel:
=> Je l'ai envisagé, mais la quantité de paramètres à envoyer à Excel pour qu'il face les traitements risque d'être vraiment long avec INTERROP.
Mais je vais commencé à répertorier les paramètres nécessaire pour les calcul demain justement. Dans tout les cas si j'utilise un logiciel externe il me les faudra aussi.
Il faut que je voie aussi pour lancer une macro (pour le solver Excel si je retiens cette solution) depuis mon application, sa je ne l'ai jamais fait.
Je sais dialoguer avec Excel avec Office Interop, mais pas utiliser les macro. Macro qui sont déjà présente d'ailleurs, car le client avait fait un bouton pour lancer les 6 Solveurs.
Hum.
En effet interop c'est lent.
Il existe plein de solutions pour écrire ou lire dans les fichiers xlsx (pas xls) sans interop.
Dans autre sujet aujourd'hui, il était question de ClosedXML (que je ne connais pas, mais ça a résolu le problème du demandeur)
Par contre, gagné que ca puisse exécuter les macros.
Pour le solveur, tunas cherché en Python?
Bonsoir,
Bon j'ai passé la journée à créer ma passerelle et a envoyer les données vers Excel en utilisant les cellules nommé, en utilisant Interop. Bon c'est lent, mais je m'attendait à pire par rapport à ce que j'ai déjà connu, peut être que mon PC de dev fonctionne bien ;).
J'arrive à lancer la macro principal qui lance les 6 solvers, puis récupérer les données. Bon le résultat n'est pas bon encore, il doit me manqué quelques paramètres, mais rien de grave.
Au final, on va dire que c'est une solution viable.
La seul chose qui me gène dans cette pratique, c'est que chaque solver ouvre la boite de dialogue indiquant qu'il a trouve une solution (6 fois). Maintenant, est que les cachés, si c'est possible, c'est une bonne solution. A voir avec le client.
Interop oblige par contre à avoir un Excel sur le PC, mais d'aprés ce que j'ai vu pour lancer la macro cela risque d'être compliqué autrement, a moins d'avoir accès à la dll du solver d'excel, mais j'ai déjà essayé et il n'en veux pas, cette dll est disponible, mais payant annuellement pour VS.
Concernant Python:
C'est clair que j'ai trouvé quelque info, cela semble plus souvent utilisé en tout cas. Je connais le langage que le nom, mais cela me dérangerais pas de mi mettre aussi, au contraire. Par contre ce que j'ai trouvé, je ne le comprend pas trop en faite, et je ne sais pas du tout comment l'aborder.
Mon principal problème, je pense, c'est justement la façon d'aborder le problème, peut être même avec MSF d'ailleurs, car à l'aide de l'objet Term de MSF, je recrée la gigantisme formule d'un seul bloc et c'est surement pas la bonne façon de faire, même si cela fonctionne pour mes 5 autres solver.
J'ai vu des système avec des matrices, ou tableau, je sais pas si j'emploie le bon terme. C'est peut être, surement, ce qu'il faut utiliser.
Et ce que j'ai vue dans mes recherche Python, il parle aussi de Matrice. Ou quand il parle uniquement de résolution d'équation tel que res = ax+ b, cela m'aide pas beaucoup/
La librairie TPMath en parle aussi : TPMATH Résolution des systèmes d'équations linéaires.
Mais j'avoue que j'y comprend rien, clairement et cela me désespère.
J'arrive un peu a relativisé maintenant et décrocher un peu quand je suis à la maison, mais quand j'ai commencé ma femme à eue vraiment peur. Enfin bref, on est pas là pour parler de ma life désolé.
Bonjour
Oui interop nécessite Excel sur le PC cible, et probablement le même Excel que sur le PC de développement car les références sont assez dépendantes de la version.
J'ai vu une fois le forum un code qui permettrait d'être plus souple avec les versions, mais je ne sais pas s'il fonctionne pour tous les cas, je vais tacher de le retrouver.
Effectivement, je ne connais qu'Excel pour exécuter les macros, donc et jusqu'à preuve du contraire, je pense que sans Excel, il faudra tout calculer dans le logiciel C# (ou autre)
Concernant les matrice, si j'enfonce des portes ouvertes, je m'en excuse, mais comme je ne sais pas ce que tu connais, je plante le décors (qui pour moi se résume à pas grand chose).
Donc en Maths, une matrice est une série de nombres rangée sous la forme de ligne(s) et de colonne(s), par exemple, les coordonnées 3D d'un point peuvent former une matrice ligne 1*3 (ou une matrice colonne) et les coordonnées de 10 points 3D peuvent former une matrice rectangle 10*3.
On peut faire plein d'opérations "un à un", c.a.d, tu prends le nombre à un emplacement de chaque matrice, tu fais tes calculs avec et tu mets le résultat au même emplacement dans la matrice résultat.
Jusqu'ici tout va bien.
Ça se complique quand il faut faire des calculs sur les matrices entières par ce que si additionner les matrices A et B c'est bien additionner un à un, multiplier les matrices A et B c'est appliquer un polynôme à chaque valeur des matrices..
Mais là encore, tant qu'on me dit, il faut telle et telle matrices et les multiplier, j'applique bêtement, d'autant qu'il y a des outils de calcul matriciel en C# donc tout va bien.
Là où je suis incapable de savoir faire par moi-même, c'est passer d'une formule à un calcul matriciel.
Par exemple, j'ai fait un stage dans lequel un formateur a essayé de nous faire passer d'un calcul trigonométrique avec des cosinus et de sinus à appliquer que plusieurs centaines valeurs proches.
On commence par faire le développement limité du calcul trigo, au voisinage de ces valeurs (ça à l'époque je savais plus ou moins faire, mais plus aujourd'hui...) et on fait en sorte de repartir les valeurs dans des matrices pour que les additionner, multiplier ou diviser applique à chacune le développement limité.
Bon là, il m'avait perdu le gars.
Donc si c'est ça que tu dois faire, je te conseille d'aller chercher de l'aide auprès de mathématiciens, qui eux sauront t'aiguiller vers les outils mathématiques adaptés.
Peut-être que le langage R est une piste à creuser.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionHummm, comment dire... Ba si simplement, en faite j'étais largué rapidement et j'en suis vraiment désolé, car tu a pris le temps de me répondre et cela m'énerve de ne pas comprendre et de me dire que je suis trop co.. .
Quoi qu'il en soit je vais pas chercher plus loin aujourd'hui, car je voie notre client demain. La solutions avec excel fonctionne. J'arrive à ce que les solvers n'affichent plus les 6 fenêtres de validation, c'est donc plus fuide. Malheureusement lorsque je cache excel je sais pas pourquoi j'ai une erreur qui se fait à la 3ème données envoyé. Alors que lorsqu'excel est visible cela fonctionne nickel. J'ai aussi le code de retour de chaque solver donc je peu gérer la validité des résultats.
Si cela conviens au client, je me prends plus la tête avec sa.. Cela fait plusieurs nuit que je dort plus, car cela trotte dans la tête... Si cela conviens pas grâce a vous j'ai des pistes et cela me soulage, il va falloir que je gratte un peu (beaucoup) , mais cela me rassure.