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 :

Résoudre un problème mathématique par formule/macro


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2013
    Messages : 22
    Par défaut Résoudre un problème mathématique par formule/macro
    Bonjour,

    J'aurai besoin d'aide pour un problème de math à passer sous excel, afin de faire varier les données etc.

    Le contexte : Je gère les apports en calcium et magnésium sur des cultures, on a trois produits :
    ----> Magnésie : 100kg = 24kg de Mg et 0kg de Ca
    ----> Calcaire : 100kg = 0.5kg de Mg (0kg si ça peut simplifier le PB)et 51kg de Ca
    ----> Mixtaz : 100kg = 10kg de Mg et 40kg de Ca

    Les besoins de la culture 1 sont de 350kg de Ca et 42kg de Mg.

    Il me faut donc déterminer quelles sont les quantités de chaque engrais à apporter, en fonction des besoins, sans avoir excès.

    Le principe est donc d'apporter au maximum le mixtaz car il apporte les deux éléments, puis de complèter avec les deux autres engrais.

    Résoudre ce problème à la main, aucun problème mais créer une formule/macro qui puisse le faire automatiquement, prendre en compte chaque variables et les contraintes imposées ça, ça ma pose problème ^^

    Donc si quelqu'un avait une petite ou grande idée je suis preneur à 100% et en serai très reconnaissant.

    Merciiiiii bonne journée à tous
    Fichiers attachés Fichiers attachés

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Le solveur est ton ami puisque si j'ai bien compris c'est un problème d'optimisation linéaire.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2013
    Messages : 22
    Par défaut
    Salut

    Oui je me suis effectivement penché sur le solver à l'aide notamment d'un tutoriel mais c'est la galère ^^

  4. #4
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut résoudre un problème mathématiquepar formule/macro
    bonjour,

    que signifient ces trois égalités ?
    Magnésie : 100kg = 24kg de Mg et 0kg de Ca (24+0 = 24)??????
    Calcaire : 100kg = 0.5kg de Mg (0kg si ça peut simplifier le PB)et 51kg de Ca
    Mixtaz : 100kg = 10kg de Mg et 40kg de Ca (10+40= 50) ?????

    Faut-il comprendre qu'un sac de 100 kg ne contient que les doses indiquées de produits actifs (Ca et Mg), le solde du sac n'étant qu’excipient sans intérêt pour ta culture ?

    si c'est le cas la magnésie par exemple contient donc une forte proportion d'apport sans intérêt.

    Cordialement.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2013
    Messages : 22
    Par défaut
    oui tout à fait, ça signifie que sur 100 kg il y a 24kg de magnésium et 76 kg d'additifs (comme des produits mouillants, ou comme dans l'alimentaire des épaississants etc).

    Tu as une idée pour mon problème ?

  6. #6
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Tu expliques mal ton problème:

    Il te faut une fonction objectif. Et des contraintes comme dans tout problème d'optimisation.

    Si je comprends bien ton problème mal expliqué:

    Il te faut 3,714285714 Calcaires et 4,014285714 Mixtaz

    Et si les produits sont indivisibles 4 et 4.

    Si c'est ce que tu cherches attrape cet exemple
    Fichiers attachés Fichiers attachés

  7. #7
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Juin 2013
    Messages : 22
    Par défaut
    C'est presque ça puisque le solver me donne une sorte de coefficient (nombre de boite) qui me donne chaque quantité de chaque engrais.

    Par contre je ne comprends pas, quand je l'ouvre ça marche très bien, mais du moment que je le fait pour essayer ça me met des chiffres en vrac puissance de 10, des négatifs etc alors que j'ai rien changé du solver ^^

    Mais merci beaucoup c'est un grand pas en avant

  8. #8
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    BAh si tu n'expliques pas bien ce que tu veux on n'a pas la science infuse.
    Dans mon monde à moi ou les poneys mangent des arcs en ciel, on utiliserait une variable un peu plus intéressante que le nombre de boites comme le prix... mais ne l'ayant pas.


    Pour ton problème... Aucune idée je l'ai fait avec excel 2010 et son solveur

  9. #9
    Membre émérite
    Homme Profil pro
    ingénieur d'étude
    Inscrit en
    Juin 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur d'étude
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 563
    Par défaut
    Bonjour,

    Le problème est suffisamment simple pour se passer du solveur.
    En pièce jointe, un exemple qui n'utilise que des formules. Les cellules à modifier sont G4 et H4.

    L'intérêt de cette méthode : obtenir les résultats directement, sans avoir besoin de lancer une macro ou le solveur.

    NB: Les formules utilisées sont spécifiques au problème choisi. Elles ne fonctionnent que si la quantité de Ca dans la magnésie est nulle.

    Cdt
    Fichiers attachés Fichiers attachés

  10. #10
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Bien joué! Je n'y aurais pas pensé!

  11. #11
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut résoudre un problème mathématiquepar formule/macro
    Bonjour Benjamin,

    j'ai du mal à saisir la formule attachée au Mixtaz; à savoir :

    =MIN((D4*G4-C4*H4)/(C5*D4-C4*D5);H4/D5).

    Je saisi bien l'intérêt du second membre de la fonction MIN mais la formulation du premier membre m'échappe même si je crois comprendre qu'il s'agit d'introduire la proportionnalité de M et C entre le Mixtaz et le second produit.

    tout le reste est clair pour moi.

    Peux-tu expliquer ? Merci.

    Cordialement.

  12. #12
    Membre émérite
    Homme Profil pro
    ingénieur d'étude
    Inscrit en
    Juin 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ingénieur d'étude
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2013
    Messages : 563
    Par défaut
    J'ai fait la supposition qu'on souhaitait apporter autant de Mixtaz que possible.
    Je cherche donc en premier lieu à calculer la quantité maximale de Mixtaz qu'on puisse ajouter.

    D'après les compositions des 3 produits dont tu disposes et mon hypothèse de base, on peut conclure que seuls 2 cas de figure sont à envisager:
    1. Seuls du Mixtaz et de la Magnésie seront utilisés.
      Ce cas se produit lorsque la quantité de Ca à apporter est supérieur à 4 fois la quantité de Mg. On apporte tout le Ca grâce au Mixtaz et on complète l'apport en Mg avec de la Magnésie.
    2. Seuls du Mixtaz et du Calcaire seront utilisés.
      Dans tous les autres cas, il est inutile d'apporter de la Magnésie. On pose donc un système d'équations à 2 inconnues (la quantité de Mixtaz et la quantité de Calcaire).
      La 1ère équation décrit l'égalité des apports souhaité en Ca et des apports réels. La 2ème fait de même pour le Mg.
      Le premier membre de la fonction MIN que j'utilise correspond à la solution de ce système d'équation pour le Mixtaz.


    J'exclus de fait le cas où la quantité de Mg à apporter est nulle ou très faible.
    Dans ce cas, les équations fourniront une quantité de Mixtraz négative. En effet, ce cas n'a pas de solution en l'absence d'un produit qui ne contienne pas de Mg.

    Évidemment, la solution que je propose n'est pas nécessairement la plus économique... (je ne connais pas les prix des différents produits)
    En revanche elle minimise la masse totale de produits utilisés.

    J'espère avoir éclairci ma démarche.

Discussions similaires

  1. [XL-2003] Problème de conversion formule excel -> Macro VBA
    Par bedrohung dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 14/04/2010, 18h53
  2. Problème avec une formule mathématique
    Par Djobird dans le forum Débuter
    Réponses: 2
    Dernier message: 01/02/2009, 15h59
  3. Problème avec validation par formule
    Par ren0_ dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/09/2008, 10h19
  4. Suppression d'une macro VB par une macro : Problème " Mode Arrêt "
    Par CGANE dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/05/2008, 15h50
  5. non prise en compte d'une formule remplie par une macro
    Par mardona dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 15/06/2007, 15h08

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