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

VB 6 et antérieur Discussion :

[VB6] Utiliser le solver d'Excel


Sujet :

VB 6 et antérieur

  1. #21
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    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

  2. #22
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    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é

  3. #23
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Hello, c'est re-moi...

    - 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
    Comment dis-tu à l'utilisateur de lancer la macro ? Utilises-tu une macro Workbook_open() ? Cela éviterait de soliciter l'utilisateur.
    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+

  4. #24
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    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

  5. #25
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Bonne chance !

  6. #26
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    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 ?

  7. #27
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    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

  8. #28
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    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 ?

  9. #29
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 33
    Points : 21
    Points
    21
    Par défaut
    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

  10. #30
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    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...

  11. #31
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    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 ?

Discussions similaires

  1. [VB6] Utilisation d'Excel sans Excel installé sur le serveur
    Par Isa31 dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 24/04/2012, 12h33
  2. Excel 2007 - Utilisation du solver en VBA
    Par Martin_F dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/10/2008, 18h28
  3. Réponses: 35
    Dernier message: 29/05/2006, 08h15
  4. [VB6] Utilisation de Implements
    Par Babyneedle dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 10/01/2003, 20h21
  5. [VB6] Utiliser un ou plusieurs datareports ?
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 21/11/2002, 10h44

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