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

Macros et VBA Excel Discussion :

utilisation du solveur Excel à partir d'une macro


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut utilisation du solveur Excel à partir d'une macro
    Bonjour tous,

    j'ai entendu parlé qu' Excel avait un solveur qui permet de minimiser par exemple une erreur en fonction de paramètres d'entrées.

    Est il possible d'utiliser ce solveur par l'intermediaire de VBA ?(macro)

    1°) sous matlab par exemple je fais ceci si je veux minimiser une erreur à partir de 3paramètres je fais quelque chose comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    parametresEntree=[1 2 5];
    fonctionCalculErreur();
    [vecteurContenantMes3parametresOptimisés]=minimisation(fonctionCalculErreur,parametresEntree)
    je fais une fonction qui me renvoi une erreur et je donne ceci à un optimiseur et qui me donne le jeu de parametres optimal.

    ==> est il possible de faire la meme chose avec VBA??
    ==> si oui quelle est la commande qui permet de faire cela s'il vous plait???

  2. #2
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Bonjour

    Fais cela d'abord manuellement sur une feuille excel à l'aide du solveur. vba ne sera qu'une traduction.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    merci beaucoup d'avoir pris le temps de répondre.

    Citation Envoyé par mercatog Voir le message
    Fais cela d'abord manuellement sur une feuille excel à l'aide du solveur. vba ne sera qu'une traduction.
    je n'ai pas bien compris ce que tu veux dire lorsque tu dis:
    "vba ne sera qu'une traduction"
    en fait moi ça m'interesse de le faire par VBA car je n'utilise pas excel pour l'interface manuel mais juste comme un langage de programmation (car je n'ai que cela à disposition au boulo) du coup ce qui m'interesse et comment programmer le lancement du solveur par VBA ?

    (je suis débutant en Excel, je n'y connais encore rien du tout)

    ps: je veux absolument le faire par VBA et non manuellement car je vais avoir à lancer le solveur "N fois" et donc je ne peux donc pas le faire N fois manuellement

  4. #4
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Ce que je veux dire, si tu arrive à faire ce que tu veux manuellement sur excel, on pourra ensuite traduire ceci en vba.
    Tu auras alors une code que tu utiliseras à l'infini.

    Pour cela, il faut analyser son problème, tester (manuellement) la solveur (A juste titre, n'est pas une fonctionnalité par défaut d'Excel) et enfin, si le résultat est bon, programmer ceci en vba.

    A titre d'information, il existe sur le vba éditeur un enregistreur de macro qui traduit (grotesquement) les opérations effectués sur excel en vba.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    d'accord, c'est super cela, dans quel menu je peux trouver cela? (je suis un gros debutant)

  6. #6
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    Et quelle est ta version Excel?

    Sur le 2010, Option, Compléments ensuite activer le solveur

    Pour l'utilser> Données> Solveur

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Points : 877
    Points
    877
    Par défaut
    la version va bientôt changer au boulo je crois qu'ils vont passer à 2010
    merci pour le lien

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/02/2014, 09h06
  2. [XL-2003] activer Excel à partir d'une macro Excel
    Par didouss dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/09/2012, 10h56
  3. Utilisation du solveur Excel dans une macro
    Par michelandco dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/10/2007, 12h10
  4. Formatage de formule Excel à partir d'une macro
    Par keithanos dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/11/2006, 16h47
  5. Réponses: 1
    Dernier message: 23/09/2006, 14h12

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