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-E] inclure une fonction presente dans une macro complementaire dans mon program


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 22
    Points : 15
    Points
    15
    Par défaut [VBA-E] inclure une fonction presente dans une macro complementaire dans mon program
    bonjour a ts
    je viens de me lancer dans le VBA-E pour un stage de fin d'etude et g un peti probleme

    g une fonction qui se nom "=IntegrDataC(x,y, [Degree])" qui est inclue dans un macro complementaire appele Xnumber que g trouve sur le net.
    cette fonction permet d'integrer un nobre de point present dan un tableau
    j'aimerain inclure cette fonction dans mon prgm seulement le debogage me dit " erreur de compilation sub ou fonction non definie"
    voila la partie de mon prgrm :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub fourier()
    nbrpoint
    nbrharmonique
    Set celA = Range("A2")
    Set celB = Range("B2")
    For j = 1 To nbrpt
        x(j) = celA.Offset(j)
        y(j) = celB.Offset(j)
    Next j
    veff² = IntegrDataC(x, y)
    End Sub
    comment dois-je faire pour cette fonction me calcul mon integral et me le place ds un autre tableau
    (kan je tape directement la fonction dan un cellule celle ci fonctionne)

    je vous remerci de vos reponses

  2. #2
    Membre habitué
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Points : 148
    Points
    148
    Par défaut
    Bonjour
    Peux-tu montrer comment est définie ta fonction IntegrDataC car comme ca je ne vois pas de pb apparent
    enfin je te conseillerais qd mm de bien définir toutes tes variables au début
    tes tableaux x et y entre autres
    rémi

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    si je compren bientu voudre la macro de la fonction seulement je c pq ou la trouve

  4. #4
    Membre habitué
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Points : 148
    Points
    148
    Par défaut
    comment as-tu ajouté cette macro?
    généralement on trouve les macros dans Module dans VisualBasicEditor
    parcours tes modules (fais toi un petit Ctrl+f et selectionne projet en cours)

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    g simplement fais un copier coller dans : C:\Documents and Settings\yfereire\Application Data\Microsoft\Macros complémentaires
    puis je l'ai selectionner dans : outils\macrocomplementaire

    g recherche dans VBE, dans les module de xnumber et g rien trouver

    faut-il com en c inclure les fonction que l'on veu utiliser com celle que je veu utiliser ou une autre comme SOMME.CARRES par exemple?

  6. #6
    Membre habitué
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Points : 148
    Points
    148
    Par défaut
    Tu peux faire autrement mais je te conseillerais quand même de les inclure dans ton projet excel ca te simplifiera la tache
    rémi

  7. #7
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    je suis desole ouskel'n'or en effet je l'ignorai
    (pour les accents je ne peux rien y faire car je suis actuelement au quebec et donc clavier QWERTY c'est pourquoi j'ai aussi tendance a inverser les a et les q )

  8. #8
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Pour te répondre, je suis de l'avis de gruget, et pour les inclure dans ton projet, regarde Addins dans l'aide, on explique ça très bien. Mais c'est en anglais

    J'ai un fils qui était à Québec ce week-end, tu l'as pas vu ?

  9. #9
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    merci pour vos reponse je vais voir ce que je peux faire.
    pour votre fils il me semble l'avoir croise mais je ne suis pas tout a fait sur
    encore merci

  10. #10
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 22
    Points : 15
    Points
    15
    Par défaut
    voici la macro de IntegrDataC

    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
    Function IntegrDataC(xi, yi, Optional degree)
    Dim vy, vx, Nodes, si, nx&, ny&, i&, r, n&
    Dim BX, By, h, s, j&
    Dim Coeff_NC(), kd 'Newton-Cotes Coefficient,
    LoadVector vy, yi, nx
    LoadVector vx, xi, ny
    If IsMissing(degree) Then degree = 1
    Nodes = ny
    'check nodes and integration degree
    If degree + 1 > Nodes Then IntegrDataC = "?": Exit Function
    'algorithm begins---------------------------------------------
    si = 0
    If degree = 1 Then
        For i = 2 To Nodes
            si = si + (vy(i) + vy(i - 1)) * (vx(i) - vx(i - 1))
        Next i
        si = si / 2
    ElseIf degree > 1 Then
        r = (Nodes - 1) Mod degree
        n = Nodes
        If r > 0 Then n = Nodes + degree - r
        DataEquiSpace vx, vy, BX, By, n, h, degree
        Formula_Newon_Cotes_get kd, Coeff_NC, degree + 1
        For i = degree + 1 To n Step degree
            s = 0
            For j = 1 To degree + 1
                s = s + By(i - j + 1) * Coeff_NC(j)
            Next j
            si = si + h * s / kd
        Next i
     
    End If
    IntegrDataC = si
    End Function

  11. #11
    Membre habitué
    Inscrit en
    Juillet 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 141
    Points : 148
    Points
    148
    Par défaut
    C'est quoi la fonction LoadVector?? elle est pas définit dans ton module???
    sinon qd tu mes la formule dans une cellule tu fais référence à une plage de cellule??
    auquel cas je vois pas trop pourquoi quand tu remplis ton tableau avant d'appeler ta fonction d'intégartion tu utilises des offset et pas plutôt des .value
    comme ca juste à titre de remarque car j'ai pas trop cherché non plus à comprendre la fonction intégration (hehe la intégrations de fourier ct ya longtemps )
    rémi

Discussions similaires

  1. [XL-2010] Ecrire dans une cellule à partir d'une fonction vba
    Par ouinih dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 03/12/2019, 19h33
  2. [AC-2003] Numéroter les doublons dans une requête en utilisant une fonction VBA
    Par maldan dans le forum VBA Access
    Réponses: 1
    Dernier message: 23/09/2009, 16h46
  3. Réponses: 1
    Dernier message: 23/09/2009, 15h38
  4. insérer un bouton dans une feuille excel lié à une fonction vba
    Par thierry_b dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 16/06/2009, 12h14
  5. sizeof dans une fonction pour lire une chaine
    Par Haze. dans le forum Débuter
    Réponses: 11
    Dernier message: 06/11/2007, 12h07

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