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 :

Codage algorithme pour meilleur choix de compostions parmi une liste


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Agronome
    Inscrit en
    juillet 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Agronome
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : juillet 2021
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Codage algorithme pour meilleur choix de compostions parmi une liste
    Bonjour à tous,

    Le titre de mon message est un peu obscur car j'ai un peu de mal à synthétiser mon objectif, qui semble pourtant assez simple. (Et je n'arrive pas du tout à coder l'opération)

    Après de nombreuses tentatives, je me confronte à un mur, rien ne fonctionne. Bon je suis plus que débutant dans le codage, mais je ne m'attendais pas à ce que ce soit si difficile. Peut être que l'un d'entre vous à déjà réalisé une opération de similaire et pourra être un phare pour mon navire en perdition.

    Je m'explique :

    J'ai un objectif de composition en solution fertilisante pour les éléments N(Azote), P(Phosphore), K(Potassium), Ca(Calcium), Mg(Magnésium). Par exemple j'ai besoin de :

    N : 75
    P : 50
    K : 85
    Ca : 100
    Mg : 20

    Pour arriver à cette composition, j'ai une liste de fertilisant qui ont tous une proportion différente des éléments cités ci dessus (Ex 15-5-15 = 15% N ; 5% P ; 15% K).

    Aussi, la liste des fertilisants est longue et je ne souhaites pas que l'algo me fasse une composition avec 50 fertilisant de type différents. Je cherche, pour l'exemple ci dessus, que l'algorithme me fasse une sortie en deux composition de 3 Fertilisants pour couvrir au plus proche possible le besoin tel que :

    Apport 1 :

    Fertilisant (n) : x kg
    Fertilisant (n) : x kg
    Fertilisant (n) : x kg

    Apport 2 :


    Fertilisant (n) : x kg
    Fertilisant (n) : x kg
    Fertilisant (n) : x kg

    Je vous met un document Excel en PJ pour que vous puissiez mieux comprendre

    La Feuille "Solution Objectif" comporte un exemple de besoin
    La Feuille "Fertilisant" comporte la liste des équilibres à disposition

    NB : J'ai peur que cet objectif soit hors de ma portée. Si vraiment cela s'avère complexe, je suis prêt a solliciter une prestation tarifée (Je ne sais pas si je peux me permettre d'écrire cela ici). J'ai réellement besoin de cette solution. Et je souhaites l'encoder en VBA, car mes connaissances pour automatiser le résultats vers un document Word, s'arrête aux macro VBA d'Excel.

    En espérant que ce petit défi vous stimulera et que des solutions émergeront...
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éprouvé
    Homme Profil pro
    ingénieur d'étude
    Inscrit en
    juin 2013
    Messages
    505
    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 : 505
    Points : 1 017
    Points
    1 017
    Par défaut
    Bonjour,

    Le plus simple est de ne considérer que les 5 fertilisants dont la concentration relative en l'un des éléments est maximale, soit :
    • Le fertilisant 17 pour l'azote,
    • Le fertilisant 18 pour le phosphore,
    • Le fertilisant 15 pour le potassium,
    • Le fertilisant 21 pour le magnésium,
    • Le fertilisant 23 pour le calcium.

    Je ne tiens pas compte du fertilisant 41, censé apporter 115kg d'azote pour 100kg de fertilisant...

    Vous vous retrouvez alors avec un système de 5 équations à 5 inconnues.
    Comme vous ne souhaitez obtenir que des valeurs positives pour les quantités de fertilisant à considérer, il n'est pas possible de garantir une solution exacte dans tous les cas.
    Reste alors à savoir quelles sont vos priorités. Il va falloir que vous apportiez plus de précisions !

    Par exemple, la composition suivante est impossible à obtenir :
    • 40 kg de K,
    • 0 kg de tous les autres éléments.

    Et ce même si vous acceptez de dépasser les quantités de Mg et Ca attendues.

    Je vous laisse donc préciser quels éléments peuvent être présents en excès, en défaut, ainsi que toutes les priorités...

    Cdt

  3. #3
    Membre expert
    Homme Profil pro
    retraité
    Inscrit en
    juin 2012
    Messages
    2 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : juin 2012
    Messages : 2 106
    Points : 3 528
    Points
    3 528
    Par défaut
    Bonsoir,

    Une approche est d'utiliser le solveur. Il ne me semble pas important d'indiquer qu'il faut faire 2 compositions. Il suffit de dire qu'il faut limiter la liste à 6 fertilisants. Sur cette base, on peut facilement décider soi-même des 2 compositions à faire.

    Cordialement.
    Fichiers attachés Fichiers attachés

  4. #4
    Candidat au Club
    Homme Profil pro
    Agronome
    Inscrit en
    juillet 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Agronome
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : juillet 2021
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Solveur
    Bonjour EricDgn,

    Je trouve votre document absolument magnifique de par sa simplicité et sa grande efficacité. Je ne connaissais pas du tout cette fonction d'Excel et je crois que cela répond parfaitement à ma problématique.

    En essayant de comprendre comment fonctionnait le solveur et votre dispositif, j'ai remarqué que la colonne U présentait les sommes des éléments fertilisant sans l'azote (N). Je n'arrive pas à comprendre l'utilité de cette colonne.

    Sinon, un très grand merci. Un grand merci pour le fichier qui m'a fait gagner un temps fou dans la réalisation de mon objectif et Un grand merci pour m'avoir fait découvrir la fonction de solveur. Je pense même que c'est un très très grand merci.

    En espérant pouvoir vous rendre un jour la pareille,

    Amicalement et Professionnellement,





    Bonjour Ben_L,

    Merci également pour votre réponse. La ligne "Fertilisant 41" est en effet une erreur de saisie.

    Je vais me pencher sur votre proposition de solution. Toutefois je ne le ferais que lors d'échéances plus tardives étant donné que la réponse d'EricDgn à complètement solutionné mon problème.

    Toutefois, la solution mathématique me semble intéressante aussi et me servira peut être dans d'autres contextes!





    Merci à vous, très sincèrement,

    Et Merci à l'existence de ce Forum, qui est absolument essentielle pour les profanes des tableurs et du codage en général.

    Grâce à vous, j'économise un temps précieux.

    Bonne journée à tous !

  5. #5
    Membre expert
    Homme Profil pro
    retraité
    Inscrit en
    juin 2012
    Messages
    2 106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : juin 2012
    Messages : 2 106
    Points : 3 528
    Points
    3 528
    Par défaut
    Bonjour,

    La colonne U est à supprimer. Je ne sais plus pourquoi j'avais mis cela à cet endroit, pour une vérification quelconque en cours de route.

    Bonne continuation. Cordialement.

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

Discussions similaires

  1. [XL-2013] choix d'images parmi une liste
    Par tellierbe dans le forum Conception
    Réponses: 3
    Dernier message: 17/08/2015, 11h28
  2. Réponses: 2
    Dernier message: 31/07/2013, 23h44
  3. algorithme pour l'extraction des minuties d'une empreinte digital
    Par hanou88 dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 18/03/2011, 19h36
  4. Conseil pour le choix du language d'une appli S60 N97
    Par kika.93 dans le forum Mobiles
    Réponses: 0
    Dernier message: 28/09/2009, 19h16
  5. Réponses: 6
    Dernier message: 06/07/2009, 09h33

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