Paramétrer un Solveur avec VBA

screenshot 1

Bonjour à tous ,

Je tiens à vous remercier déjà de prêter attention à mon topic.

Etant pas un expert du tout en matière de VBA je me demande comment puis-je paramétrer un solveur à l'aide de Visual Basic.

Pourquoi via VBA ?

Tout simplement car je souhaiterai que dans mes contraintes que le solveur soit obligé de choisir entre 2 options ( seulement ).

Ce qui est actuellement impossible uniquement sur solveur puisque il est possible de paramétrer seulement : entre, supérieur, inférieur, entier et binaire.

Donc pour vous résumer mon but : maximiser un résultat global de plusieurs produits comportant tous 2 options de coûts. D'où les 2 options seulement.

Tout aide me sera utile .

Merci à vous chers experts

Bonjour,

Par simple curiosité ...

tu pourrais lancer ton enregistreur de macros et

effectuer le paramètage de ton Solveur ...

Tu obtiendras ainsi une première ébauche ...

James du 007 ...

Bonjour James,

Effectivement c'est une bonne idée pour commencer.

Merci à toi

Je suis toujours preneurs de vos conseils les amis !

Re,

Avec le Solveur ... c'est une solution excessivement utile ... et rapide ...

Bonjour tout le monde,

En général le solveur n'est paramétré qu'une seule fois, il garde ensuite le scénario en mémoire. En VBA tu peux donc te contenter d'exécuter le scénario, sans avoir besoin de le réécrire entièrement chaque fois.

D'accord mais du coup par rapport à ma question et mon problème dont j'ai screen ci-joint, comment puis-je le résoudre ?

Avant d'attaquer VBA, il faudrait mettre au clair le scénario que tu souhaites mettre en place dans le Solveur. Pour l'instant, je ne vois pas ce que vient faire un "OU" là-dedans. Un fichier pour illustrer tout ça serait appréciable...

Voilà cela devrait t'éclairer un peu plus

screenshot 2

Bonjour à tous,

Pedro22 te demande un fichier, pas une copie d'écran.

Pourquoi es-tu en GRG non linéaire?

Cdlt

Certes mais cela changerait-il quelque chose ? Déjà il peut comprendre pourquoi j'ai fait cette requête.

Je ne sais pas cela est-il dérangeant ?

Cela pourrait tout simplement nous ( je m'associe à Pedro22) permettre de comprendre la structure de ton problème, d'éviter les hypothèses hasardeuses.

On pourrait peut-être t'éviter d'utiliser le solveur ou te le paramétrer pour le passer en simplexe.

Il faut connaître tes formules, chose qu'une image ne renseigne pas.

Et puis, tout simplement, quand quelqu'un qui veut t'aider te demande un fichier, fournis le!

Bonjour jvdo,

Merci pour tes remarques. Effectivement robindu06, de la même manière que tu n'apportes pas une photo de ta voiture chez ton garagiste, il est préférable de discuter autour d'un fichier manipulable, dans lequel on peut voir la structure, les formules et tester directement des solutions.

Pour continuer, ton besoin est surement assez clair pour toi, mais nous on ne connait pas ton sujet, je n'ai aucune idée de ce que tu cherches à optimiser avec le Solveur ni quelles contraintes tu comptes appliquer. Pour t'apporter une aide pertinente, il faut donc que tu poses clairement ton sujet, ton besoin et j'insiste, que tu fournisses un vrai fichier (avec des données anonymisées si besoin).

Pour l'instant, la seule certitude que j'ai, c'est que la syntaxe que tu as testé (avec ces "OR") n'est pas bonne du tout.

Effectivement,

Voici une ébauche,

Merci à vous d'avance,

Cordialement,

Robin.

11excel-solveur.xlsx (11.08 Ko)

Bonjour,

Merci pour le fichier, mais tu omets les explications qui vont avec. On ne sait toujours pas :

  • Quel(s) critère(s) fait-on varier avec le solveur ?
  • Quelles contraintes sont appliquées ?
  • Quel est la valeur cible à optimiser ?
  • Pourquoi passer par VBA pour utiliser le Solveur ?

Et surtout : quel est l'objectif de tout ça ????

Et ta première ébauche avec le solveur ne nous renseigne en rien... D'autant plus que toutes les cellules indiquées dans ton code sont vides dans le fichier fourni !

Bonjour,

Je vais t'envoyer le fichier complet au moins tu comprendras de quoi je parle mais il est très long c'est pour cela que je voulais vous éviter tout le blabla ^^

Merci d'avance,

Robin.

Bonjour,

Je vais t'envoyer le fichier complet au moins tu comprendras de quoi je parle mais il est très long c'est pour cela que je voulais vous éviter tout le blabla ^^

Merci d'avance,

Robin.

Je préfère que tu t'en tienne à l'essentiel (je pense que ton fichier actuel suffit) mais que tu expliques tout ça en quelques mots, plutôt que de déchiffrer un fichier volumineux que je ne maîtrise pas.

En gros, comme j'ai dit dans l'annonce du départ je souhaite maximiser le résultat global et pour cela j'ai besoin que le solveur choisisse les meilleurs solutions ( choix entre 2 ) pour chacun des 3 produits différents dans le but de maximiser le global vu que le résultat est lié aux coûts des 3 produits

En gros, comme j'ai dit dans l'annonce du départ je souhaite maximiser le résultat global et pour cela j'ai besoin que le solveur choisisse les meilleurs solutions ( choix entre 2 ) pour chacun des 3 produits différents dans le but de maximiser le global vu que le résultat est lié aux coûts des 3 produits

Quelques questions supplémentaires :

  • Tes produits correspondent bien aux colonnes (GA, GP et GT) ?
  • Le choix d'une des 2 lignes/solutions sur l'un des 3 produits conditionne-t-il le choix des 2 autres produits ? Dans ton fichier, tu as choisie la première solution pour chacun des 3 produits, ou la seconde, mais jamais solution 1 colonne GA, sol. 2 colonne GP et sol. 1 colonne GT par exemple...
  • VBA a-t-il une utilité quelconque ?

Bonjour à tous,

Dans ce cas, pourquoi veux-tu utiliser le solveur?

Une contrainte qui t'est imposée?

Sinon, une simple formule t'indiquera le meilleur choix d'un domaine puisqu'il n'y a pas interdépendance entre tes 3 domaines.

La somme des 3 meilleurs choix sera le meilleur choix d'ensemble.

Pour "Administration" : ="uo"&2-(SOMMEPROD((D66:F66-D67:F67)/{1500.1500.2500})>0)

Tu recopies pour les 2 autres domaines.

Cdlt

Bonjour,

Il y a en effet une contrainte pour chacun des produits en plus des 2 options.

La somme des coûts des couts des 3 produits pour l'administration doit etre de 50000 euros .

Je pensais qu'il fallait utiliser le solveur dans ce cas la

Rechercher des sujets similaires à "parametrer solveur vba"