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 :

VBA - courbes [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2012
    Messages : 10
    Par défaut VBA - courbes
    Bonjour a tous,

    Je débute depuis quelques mois en VBA (Office 2007), mais j'ai des connaissances dans d'autres langages. J'ai écris un prgm VBA et dans un des onglets (nom "GZ Curve"), j'ai tracé une courbe (nom "GZ"). J'ai affiché la tendance polynomiale 6ème degré et affiché l'équation qui apparait dans la zone de traçage.
    Mon but est de récupérer cette fonction pour effectuer des calculs de surface.
    La fonction est du type y=a x^6 + b x^5 + c x^4 + d x^3 + e x^2 + f x + g.
    Il me suffit d'avoir les valeurs de a, b, c, d, e, f et g.
    Cela semble faisable mais je n'ai pas tout bien saisi sur la méthode.
    Un grand merci par avance si qqun peu me guider pour faire ce prgm en VBA pour récupérer ces données.

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Une petite gymnastique

    Faire apparaitre la courbe de tendance et son équation sur le graphique
    Récupérer cette équation puis la traiter
    Effacer la courbe de tendance

    La fonction suivante récupère les coefficients de l'équation de tendance de la courbe en paramètre Sr. C'est un tableau à 7 éléments
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Option Explicit
     
    Function CoefTend(ByVal Sr As Series)
     
    With Sr
        If .Trendlines.Count > 0 Then .Trendlines(1).Delete
        With .Trendlines.Add
            .Type = xlPolynomial
            .Order = 6
            .DisplayEquation = True
            .DataLabel.NumberFormat = "0.00000E+00"
            Application.Wait Time + TimeSerial(0, 0, 1)
            CoefTend = ExtrCoef(.DataLabel.Text)
            .Delete
        End With
    End With
    End Function
     
    Private Function ExtrCoef(ByVal Tmp As String)
    Dim i As Byte, n As Byte
    Dim Tb
     
    Tmp = Replace(Tmp, "y = ", "")
    Tmp = Replace(Tmp, " + ", "|+")
    Tmp = Replace(Tmp, " - ", "|-")
    Tb = Split(Tmp, "|")
     
    For i = LBound(Tb) To UBound(Tb)
        n = InStr(Tb(i), "x")
        If n Then Tb(i) = Left(Tb(i), n - 1)
    Next i
     
    ExtrCoef = Tb
    End Function

    Par exemple on écrit les coefficients de la courbe 1 de l'objet graphique 1 vers D1 à J1 de la feuille Feuil1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Test()
     
    With Worksheets("Feuil1")
        .Range("D1:J1") = CoefTend(.ChartObjects(1).Chart.SeriesCollection(1))
    End With
    End Sub

  3. #3
    Membre habitué
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Septembre 2012
    Messages : 10
    Par défaut
    Bonjour,

    Je vous remercie beaucoup pour votre aide bien utile ce qui m'a permis de compléter mon prgm aprés un test.

    Vous souhaitant bon WE

    Cordialement

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

Discussions similaires

  1. [VBA-E][Debutant] Choisir couleur d'une courbe
    Par Masmeta dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 13/03/2007, 10h13
  2. [VBA E]Colorier l'espace entre deux courbes
    Par conconbrr dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/07/2006, 10h19
  3. [VBA-E]Faire apparaitre une courbe point par point...
    Par cipango dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 05/03/2006, 18h13
  4. VBA - Excel Faire un graphique histogrammes - courbes
    Par brethomeau dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 16/11/2005, 17h49
  5. [VBA-E] recuperation de l'equation d'une courbe de tendance
    Par miotte83 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/09/2005, 02h25

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