merci de ton soutien
ca va etre l'heure de la debauche, je vais aller poser le cerveau dans un coin et le laisser jusqu'a demain !
peut etre que je trouverais une solution miraculeuse a mon retour demain, on peut toujours rever
merci de ton soutien
ca va etre l'heure de la debauche, je vais aller poser le cerveau dans un coin et le laisser jusqu'a demain !
peut etre que je trouverais une solution miraculeuse a mon retour demain, on peut toujours rever
Solution TRES moche adoptee, faute de mieux, et les besoins du patron etant ce qu'ils sont
- sous VB, je créé une instance d'Excel
- j'ouvre le document contenant la macro de resolution
- je remplis la grille avec le système d'équations
- j'enregistre les modifications et je ferme le document
- je supprime l'instance Excel
- je lance Excel par la commande Shell, avec ouverture du document en paramètre
- je dis à l'utilisateur (MsgBox) de lancer la macro, d'enregistrer les modifications, puis de fermer le document, avant de cliquer sur le bouton OK de la MsgBox
- une fois cela fait, j'ouvre une instance Excel, je réouvre le document
- je traite les solutions données par le solver
- je ferme le document
- je supprime l'instance Excel
déjà, en soit, c'est très moche mais autour de ca, je mets une boucle pour chaque système (une bonne dixaine), ça devient très très convivial comme procédé
Hello, c'est re-moi...
Comment dis-tu à l'utilisateur de lancer la macro ? Utilises-tu une macro Workbook_open() ? Cela éviterait de soliciter l'utilisateur.- je lance Excel par la commande Shell, avec ouverture du document en paramètre
- je dis à l'utilisateur (MsgBox) de lancer la macro, d'enregistrer les modifications, puis de fermer le document, avant de cliquer sur le bouton OK de la MsgBox
L'enregistrement et la fermeture d'excel peut se faire sur seule question : "Enregistrer le document et quitter ?", tu peux également mettre "des choses" dans Workbook_Close() comme "quitter Excel"
La, si tu as besoin, je pourrai enfin t'aider...
A+
salut
je dis à l'utilisateur de lancer la macro grâce à une MsgBox.
J'ai bien pensé à la solution de l'évènement Workbook_Open, et j'ai testé d'ailleurs, et ça me générait la même erreur que lorsque je le faisais faire par VB Ce bug relève du paranormal, j'ai donc appelé Mulder mais suis tombé sur sa boîte vocale...
L'enregistrement et fermeture de l'application, ça je l'ai automatisé maintenant, donc j'en parle plus.
En résumé, l'utilisateur doit juste cliquer sur un bouton pour lancer la macro, sinon ça bug
et puis maintenant de toute façon, j'aurais plus trop le temps de m'occuper de ça, puisque le projet prends fin cette après-midi
En tout cas, merci bcp pour l'aide ouskel'n'or
bon compte tenu du temps passé (j'ai aussi regardé)
il y a belle lurette que tu aurais pu trouver un module
de programmation linéaire
Elle est pas belle la vie ?
beh figures toi que j'ai cherche une solution intermédiaire. Mais apparement, un solveur d'équations par la méthode des moindres carrés, ça court pas les rues
attention si tu es seulement à la recherche d'un solveur d'équation
par la méthode du moindre carré tu n'as pas besoin du solveur excel
regarde à régression dans l'aide excel (j'ai même une procédure access perso)
si tu as vraiment besoin de programmation linéaire (simplex)
là tu as un probléme
mais il existe des algos pas trop difficiles (en cherchant on doit trouver une librairie simples sous vb)
d'autant que les calculs font pour l'essentiel appel à du calcul matriciel
et que tu pourrais les sous traiter à excel sans tous ces ennuis
par ailleurs la référérence solver peut être activée côté excel
si j'imagine une solution
données de départ.... copie excel sur une feuille....lancement procédure sous excel et traitement des données...renvoi solutions sous une autre feuille excel
est ce que tu as exploré cette voie ?
Elle est pas belle la vie ?
En fait, au départ, mon appli générait un système de 2 équations à 2 inconnues, ça, c'est très simple à résoudre, et j'avais pondu mon code moi-même (tout seul comme un grand !!!)
quand j'ai montré le résultat au boss, il a dit que c'était bien, mais qu'il voulait pas de la méthode du systèmes à 2 équations 2 inconnues et qu'il voulait un système à n équations à 2 inconnues avec n > 2 qui se résolvait par la méthode des moindres carrés... Ca, je l'ai appris mardi, alors qu'il savait très bien que le projet se finit aujourd'hui !
J'aidonc cherché du code ou un algo de résolution de système par la méthode des moindres carrés, mais n'ai rien trouvé Il m'a alors parlé du solveur d'Excel. Moi je me suis dit qu'il y avait du VB derrière (ignorant que c'était un composant supplémentaire) et donc que c'était réutilisable dans mon appli VB. De là découle tout ce topic
Bref, pour résumer (et aussi arrêter de raconter ma vie, désolé les gars ), j'ai juste besoin de quelque chose (module, librairie, composant ou autre) qui me permette de résoudre un système de n équations à 2 inconnues par la méthode des moindres carrés
Hello,
Je passais par là...
Je ne sais pas où tu en est mais je viens de comprendre pourquoi la macro Workbook_open ne peut pas marcher : Tu n'ouvres pas le fichier...
Pile une semaine pour comprendre... C'est pas beau, ça ?
A bientôt, sûrement...
la méthode pour relier n équations à n inconnues
se met très facilement en place par une simple inversion
matricielle et multiplication de matrice sans solveur
par contre par la méthode des moindres carrés on gère les régressions
linéaires
les deux sont faciles à programmer
les deux méthodes ne sollicient pas le solveur
pourrais tu nous donner un exemple de ton calcul plus précis et du besoin sous tendu
Elle est pas belle la vie ?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager