Automatisation de valeur cible Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
T
Titi5414
Nouveau venu
Nouveau venu
Messages : 4
Inscrit le : 17 janvier 2020

Message par Titi5414 » 17 janvier 2020, 22:52

Bonjour à tous,

Je pense que ce sujet a déjà été traité plusieurs fois, mais je nécessite votre aide car je ne comprend pas du tout comment fonctionne une macro. Pour info, je viens de découvrir cette option il y a une heure.

Pour un projet portant sur la synthèse du méthanol, des calculs thermochimiques sont à réalisés pour comprendre le fonctionnent de la réaction chimique permettant la fabrication de méthanol. Dans mon cas, je dois calculer l'avancement de la réaction à des températures et des pressions différentes.

Sur mon tableau ci-joint
calcul thermochimie réaction.xlsx
(20.84 Kio) Téléchargé 6 fois
, je possède des valeurs à atteindre (en rouge) qui sont définies pour chaque colonne.
les cellules à définir sont en vert clair et chacune possède leur propre formule en fonction de la pression (en orange).
à partir de la valeur cible, je peut donc déduire une cellule à modifier (en bleu) qui correspond à l'avancement de la réaction.

Avec 350 cellules à définir, je ne peux pas le réaliser à la main en sachant que je ne suis pas certain de ma formule créer.

Je demande donc votre aide pour pouvoir automatiser ces opérations de valeur cible qui me permettront d'obtenir efficacement l'avancement de ma réaction

Je vous remercie d'avance pour votre aide et je reste à votre disposition pour apporter des informations complémentaires.
h
h2so4
Passionné d'Excel
Passionné d'Excel
Messages : 8'985
Appréciations reçues : 359
Inscrit le : 16 juin 2013
Version d'Excel : 365 UK Windows 10

Message par h2so4 » 18 janvier 2020, 00:54

Bonsoir,

une solution qui automatise la recherche d'une solution via l'option "valeur cible".

s'agissant d'un polynôme (degré 5 si je ne m'abuse), il y a en principe plusieurs solutions possibles, la macro n'en affiche qu'une quand elle en trouve une. La solution algébrique n'est pas piquée des vers, j'ai essayé mais j'ai abandonné après quelques pages.
calcul thermochimie réaction.xlsm
(28.65 Kio) Téléchargé 3 fois
T
Titi5414
Nouveau venu
Nouveau venu
Messages : 4
Inscrit le : 17 janvier 2020

Message par Titi5414 » 18 janvier 2020, 13:14

J'ai oublié de préciser, la solution possible ne peut être strictement supérieur à 0 ou strictement inférieur à 1 (0<x<1). Cette condition est fixée par les calculs de thermochimie. Je pense donc qu'il ne doit exister qu'une seule solution qui remplit cette condition.

En tout cas, j'ai fini par utiliser le solveur de excel (plus rapide et plus précis) à la main.
calcul thermochimie réaction (2).xlsx
(25.72 Kio) Téléchargé 2 fois
Je vous remercie néanmoins pour l'aide apporté à mon sujet et je vous souhaite un bon week-end.

Ps: cependant, est-ce que j'indique le problème comme résolu ?
h
h2so4
Passionné d'Excel
Passionné d'Excel
Messages : 8'985
Appréciations reçues : 359
Inscrit le : 16 juin 2013
Version d'Excel : 365 UK Windows 10

Message par h2so4 » 18 janvier 2020, 16:32

Bonjour,

voici l'automatisation avec le solveur (je ne dois pas avoir les mêmes paramètres que toi, car il y a beaucoup de solutions non trouvées.

si tu m'indiques les paramètres que tu as utilisés, je peux adapter le code.
Sub aargh()
    With Range("N7")
    Application.DisplayAlerts = False
        For i = 1 To 25
            For j = 1 To 14
                SolverReset
                .Cells(i + 30, j + 1) = 0.9
                SolverOk SetCell:=.Cells(i + 1, j + 1).Address, MaxMinVal:=3, ValueOf:=.Cells(1, j + 1).Value, ByChange:=.Cells(i + 30, j + 1).Address, Engine:=1, EngineDesc:="GRG Nonlinear"
                SolverAdd CellRef:=.Cells(i + 30, j + 1).Address, Relation:=1, FormulaText:="1"
                SolverAdd CellRef:=.Cells(i + 30, j + 1).Address, Relation:=3, FormulaText:="0"
                SolverSolve UserFinish:=True
            Next j
        Next i
    End With
    Application.DisplayAlerts = True
End Sub

calcul thermochimie réaction.xlsm
(30.38 Kio) Téléchargé 2 fois
1 membre du forum aime ce message.
T
Titi5414
Nouveau venu
Nouveau venu
Messages : 4
Inscrit le : 17 janvier 2020

Message par Titi5414 » 23 janvier 2020, 15:54

J'ai essayé votre programme. Il ne fonctionne pas à partir de mon fichier et m'indique " Erreur de compilation : sub ou function non définie". Je ne comprend pas l'erreur car ce début de programme ressemble fortement à celui du premier.

J'ai cependant calculé directement les valeurs de l'avancement, qui sont les bonnes valeurs. voici ce fichier:
calcul de thermochimie synthèse du méthanol.xlsx
(31.4 Kio) Pas encore téléchargé
Bien que les valeurs sont calculés, ce type de programme peut vraiment avoir encore son utilité pour une autre réaction chimique ou d'autres valeurs de température et de pression.
h
h2so4
Passionné d'Excel
Passionné d'Excel
Messages : 8'985
Appréciations reçues : 359
Inscrit le : 16 juin 2013
Version d'Excel : 365 UK Windows 10

Message par h2so4 » 23 janvier 2020, 19:28

bonjour,
Erreur de compilation : sub ou function non définie".
si tu as copié la macro dans un autre classeur, il manque probablement la référence au solver

pour y remédier :

ouvrir ton classeur
faire F11 -> active l'éditeur VBA
dans la barre des menus outils->références-> sélectionner solveur.
faire f11-> retour dans excel
sauver le classeur
la référence est associée à ce classeur et sera active à chaque utilisation.
T
Titi5414
Nouveau venu
Nouveau venu
Messages : 4
Inscrit le : 17 janvier 2020

Message par Titi5414 » 25 janvier 2020, 17:51

Avec plus de précision, le programme permet d'obtenir des résultats cohérents avec ceux que j'ai calculé sans ce programme.
SolverReset
.Cells(i + 30, j + 1) = 0.9 à remplacer par:
SolverReset
.Cells(i + 30, j + 1) = 0.99999

Je te remercie pour toute l'aide apportée.

Le problème est pour moi résolu.
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message
  • Automatisation Valeur Cible
    par JessP » 10 avril 2018, 11:05 » dans Excel - VBA
    2 Réponses
    180 Vues
    Dernier message par JessP
    10 avril 2018, 13:17
  • Valeur cible tableau
    par Skrax » 25 mai 2018, 11:26 » dans Excel - VBA
    1 Réponses
    141 Vues
    Dernier message par fred2406
    25 mai 2018, 17:46
  • Précision valeur cible
    par MBillard » 10 août 2018, 12:31 » dans Excel - VBA
    3 Réponses
    192 Vues
    Dernier message par MBillard
    10 août 2018, 17:15
  • Macro valeur cible
    par Max62129 » 23 décembre 2019, 14:19 » dans Excel - VBA
    5 Réponses
    92 Vues
    Dernier message par h2so4
    24 décembre 2019, 11:40
  • Valeur cible en VBA
    par Philippe02 » 5 mars 2017, 17:52 » dans Excel - VBA
    9 Réponses
    502 Vues
    Dernier message par Philippe02
    6 mars 2017, 13:51
  • Valeur Cible: plusieurs résultats
    par MBillard » 18 juillet 2016, 11:01 » dans Excel - VBA
    7 Réponses
    488 Vues
    Dernier message par MBillard
    18 juillet 2016, 15:35