Modélisation d'une équation différentielle avec Excel VBA

Bonjour à tous,

Pour mon cursus scolaire , je cherche à modéliser et résoudre une équation différentielle j'ai choisi de modéliser l'équation représentant la propagation d'une épidémie : dI/dT = Beta x S x I - gamma x I,

J'ai écrit un code VBA principalement grâce a des macros , le code fonctionne mais je voudrais le rendre plus "beau" avec moins de ligne, plus structuré etc.

j'aimerais savoir si vous aviez des conseils des idées de lignes de code que je pourrais utiliser pour améliorer mon code actuel en remplaçant les lignes générées grâce aux macros.

Je vous remercie par avance,

Cordialement,

J

22vba.xlsm (45.66 Ko)

Bonjour,

Ceci par exemple

Sub Macro1()
    Dim DerLig As Long

    Application.ScreenUpdating = False
    DerLig = Range("A" & Rows.Count).End(xlUp).Row
    Range("A1:B1").Value = Array("Jours", "Solution analytique")
    Range("A2:A" & DerLig).FormulaR1C1 = "=row()-2"
    Range("A2:A" & DerLig).Value = Range("A2:A42").Value
    Range("G1:G4").Value = Application.Transpose(Array("dt (pas de temps)", "S (%)", "gamma", "ß"))

    'on saute la partie  qui crée les ascenceurs horizontaux et le bouton "Changer valeurs" puisque ces objets sont déjà crées

    Range("I3").Value = InputBox("Rentrer une valeur de gamma (taux d'infectiosité). (Beta<Gamma<1 [en 0.0])", Range("I3").Value, "Gamma", Range("I3").Value)
    Range("I4").Value = InputBox("Rentrer une valeur de Beta. (Beta<Gamma<1 [0.0]", Range("I4").Value, "Beta", Range("I4").Value)
    Range("B2:B" & DerLig).FormulaR1C1 = "=(100-R2C9)*EXP((R4C9*R2C9/100-R3C9)*RC[-1])"

    'sélection de la plage graphique
    Plage = Range("A1:B" & DerLig) 'inutile puisque le graphique est existant
End Sub

A compléter si besoin.

Cdlt

merci beaucoup pour votre réponse ;)

Bonjour à tous,

Voici une proposition de réorganisation en scindant en plusieurs macros (une pour créer, une pour supprimer et une pour tester). Les tests intègrent les pas de temps en colonne A (si j'ai bien compris...).

Mis à part ça, j'ai surtout essayé d'améliorer la saisie des valeurs via l'inputbox (même si le code doit sûrement être perfectible).

Je ne suis pas parvenu à créer le graphique, je pense que la méthode .addchart2 n'est pas disponible sur ma version. Les lignes sont en commentaire, il faudra les désactiver et éventuellement corriger...

Cdlt,

Rechercher des sujets similaires à "modelisation equation differentielle vba"