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 :

Retrouver les programmes appelés.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 13
    Par défaut Retrouver les programmes appelés.
    Bonjour;

    J'ai un fichier excel contenant un code.
    Je souhaiter completer certaines fonctions. Ainsi, la première macros, c'est ce qui suit que je ne comprends pas du tout.
    Je n'arrive pas à trouver la macro source de ce programme qui suit.
    Qu'est ce que cela veut dire tout ça??
    Merci de votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Declare Sub cA Lib "pcont.dll" Alias "_CALCULS_APPUIS@100" (ByVal nbt&, ByVal nelem&, ByVal genre&, Ma#, cod#, Rog#, Rod#, Rg#, Rd#, reaction#, deplacement#, _
      Mb#, Md#, Ai#, Bi#, Ci#, EI#, portee#, inertie#, module#, k#, ByVal Ko#, ByVal Kn#)
    Private Declare Sub cM Lib "pcont.dll" Alias "_CONSTRUIT_MATRICE@56" (ByVal nbt&, a#, b#, c#, e#, portee#, inertie#, module#, k#, ByVal Ko#, ByVal Kn#, Ma#)
    Private Declare Sub cT Lib "pcont.dll" Alias "_CALCULS_TRAVEES@136" (ByVal nbt&, ByVal nelem&, ByVal pas&, ByVal l#, ByVal abscisse#, ByVal n&, Ma#, cod#, Rog#, Rod#, Rg#, Rd#, _
     reaction#, deplacement#, Mb#, Md#, Mt#, Th#, Fl#, Re#, Ai#, Bi#, Ci#, EI#, portee#, inertie#, module#, k#, ByVal Ko#, ByVal Kn#)
    Cordialement



    Dans le même éditeur de programme, voici ce qu'il y a.

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    Private Declare Sub cA Lib "pcont.dll" Alias "_CALCULS_APPUIS@100" (ByVal nbt&, ByVal nelem&, ByVal genre&, Ma#, cod#, Rog#, Rod#, Rg#, Rd#, reaction#, deplacement#, _
      Mb#, Md#, Ai#, Bi#, Ci#, EI#, portee#, inertie#, module#, k#, ByVal Ko#, ByVal Kn#)
    Private Declare Sub cM Lib "pcont.dll" Alias "_CONSTRUIT_MATRICE@56" (ByVal nbt&, a#, b#, c#, e#, portee#, inertie#, module#, k#, ByVal Ko#, ByVal Kn#, Ma#)
    Private Declare Sub cT Lib "pcont.dll" Alias "_CALCULS_TRAVEES@136" (ByVal nbt&, ByVal nelem&, ByVal pas&, ByVal l#, ByVal abscisse#, ByVal n&, Ma#, cod#, Rog#, Rod#, Rg#, Rd#, _
     reaction#, deplacement#, Mb#, Md#, Mt#, Th#, Fl#, Re#, Ai#, Bi#, Ci#, EI#, portee#, inertie#, module#, k#, ByVal Ko#, ByVal Kn#)
     
     
     
    Sub calcul_moments(nbt As Long, portee() As Double, cod() As Double, Ko As Double, Kn As Double, k() As Double, module() As Double, inertie() As Double, moments() As Double, tranchants() As Double, flèches() As Double, réactions() As Double)
     
    'intermédiaires :
    Dim Rog(150) As Double, Rod(150) As Double, Rg(150) As Double, Rd(150) As Double
    Dim reaction(150) As Double, deplacement(150) As Double, Mb(150) As Double, Md(150) As Double
    Dim Ai(150) As Double, Bi(150) As Double, Ci(150) As Double, EI(150) As Double
    Dim Ma() As Double
    Dim genre As Long
    Dim distance As Double, abscisse As Double
    'sorties :
    Dim Mt(25, 2) As Double, Th(25, 2) As Double, Fl(25, 2) As Double, Re(25, 2) As Double
    'autres :
    Dim i As Long, j As Long, l As Double
     
    ReDim Ma(nbt, nbt) As Double
    genre = 1
    Call cM(nbt, Ai(0), Bi(0), Ci(0), EI(0), portee(0), inertie(0), module(0), k(0), Ko, Kn, Ma(0, 0))
    Call cA(nbt, cod(0, 0), genre, Ma(0, 0), cod(0, 0), Rog(0), Rod(0), Rg(0), Rd(0), reaction(0), deplacement(0), Mb(0), Md(0), Ai(0), Bi(0), Ci(0), EI(0), portee(0), inertie(0), module(0), k(0), Ko, Kn)
    For i = 1 To nbt
        Call cT(nbt, cod(0, 0), pas, portee(i), abscisse, i, Ma(0, 0), cod(0, 0), Rog(0), Rod(0), Rg(0), Rd(0), reaction(0), deplacement(0), Mb(0), Md(0), Mt(0, 0), Th(0, 0), Fl(0, 0), Re(0, 0), Ai(0), Bi(0), Ci(0), EI(0), portee(0), inertie(0), module(0), k(0), Ko, Kn)
        For l = 1 To 3
            For j = 1 To 2 * pas
                moments(2 * (i - 1) * pas + j, l) = Mt(j, l - 1)
                tranchants(2 * (i - 1) * pas + j, l) = Th(j, l - 1)
            Next
            For j = 1 To pas
                flèches(2 * (i - 1) * pas + 2 * j - 1, l) = 1000 * Fl(j - 1, l - 1)
                flèches(2 * (i - 1) * pas + 2 * j, l) = 1000 * Fl(j, l - 1)
            Next
            réactions(2 * i - 1, l) = Re(0, l - 1)
            réactions(2 * i, l) = Re(1, l - 1)
        Next
    Next
     
     
    For j = 1 To 2 * pas * nbt
        'mini
        moments(j, 1) = moments(j, 1) + moments(j, 2)
        tranchants(j, 1) = tranchants(j, 1) + tranchants(j, 2)
        flèches(j, 1) = flèches(j, 1) + flèches(j, 2)
     
        'maxi
        moments(j, 3) = moments(j, 3) + moments(j, 2)
        tranchants(j, 3) = tranchants(j, 3) + tranchants(j, 2)
        flèches(j, 3) = flèches(j, 3) + flèches(j, 2)
    Next
     
    For j = 1 To 2 * nbt
        réactions(j, 1) = réactions(j, 1) + réactions(j, 2)
        réactions(j, 3) = réactions(j, 3) + réactions(j, 2)
    Next
     
    End Sub

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Il s'agit d'une DLL personnel, qui n'est pas fourni d'office avec MS Windows.

    Ma# signifie CDbl(Ma)

    En passant, c'est une bonne pratique de passer une structure/type par référence lorsqu'il y a trop de paramètres.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 13
    Par défaut VBA dll
    Bonjour,

    J'ai passé hier toute l’après midi à chercher à décortiquer ce DLL. J'ai téléchargé une usine de logiciel (Soit disant réputé pouvoir lire des code tout genre) pour le lire, mais rien n'y fait. Pensez vous pouvoir m'aider à sortir ce programme et le décortiquer. Dans ce programme, il y 'a un noyau de fonction dans lequel je souhaitais rajouter d'autre pour mes calculs spécifiques.
    J'avais commencé à pratiquer VBA, et depuis 3 ans, je n'ai pas retouché. Même les fonctions basiques que je connaissais, j'ai oublié une grosse partie. Je dois me remettre à fond.
    J’évolue dans le Btp, et je souhaiter pouvoir automatiser beaucoup de programmes. J'ai déjà pas mal de petits programme du genre non aboutis que j'avais créés. Il me faut de l'aide. Merci.

    PJ. Si je vous souhaitez que je vous envoie des programmes pour échanger sur le sujet, merci de me dire comment.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut,

    Ta .dll comporte plus de 3 fonctions (Celle que l'on voit ici) et tu voudrai importer le reste des fonctions de ta .dll dans le VBA ? Mais tu n'as pas de fichier .h pour pourvoir voir les prototypes des fonctions ? C'est cela ?
    Tu n'as pas de documentation sur cette .dll non plus ?

    Si ta .dll est faite en C++, tu pourrai demander des infos sur comment extraire les prototypes sur les forums du site DVP, idem pour d'autres langages (C etc...).
    C et C++
    C++ uniquement
    C uniquement

    Envoie moi ta .dll par mp si tu veux ou au moins l'addresse du serveur si mise sur un serveur, j'essayerai de regarder mais sans rien promettre au niveau du résultat.


    @+

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 13
    Par défaut
    Bonjour,

    Le site me dit que le fichier .dll est non valide pour l''envoi.
    pouvez vous me donner une adresse mail où envoyer un mail? sur l'adresse: ayoumouamas AT yahoo DOT fr

    Cordialement

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    zip le fichier
    Dernière modification par AlainTech ; 16/08/2014 à 11h37. Motif: Suppression de la citation inutile

  7. #7
    Invité de passage
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Octobre 2017
    Messages : 1
    Par défaut Salut! As-tu trouvé la solution? je suis aussi bloqué
    Citation Envoyé par dioufo Voir le message
    Bonjour;

    J'ai un fichier excel contenant un code.
    Je souhaiter completer certaines fonctions. Ainsi, la première macros, c'est ce qui suit que je ne comprends pas du tout.
    Je n'arrive pas à trouver la macro source de ce programme qui suit.
    Qu'est ce que cela veut dire tout ça??
    Merci de votre aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Declare Sub cA Lib "pcont.dll" Alias "_CALCULS_APPUIS@100" (ByVal nbt&, ByVal nelem&, ByVal genre&, Ma#, cod#, Rog#, Rod#, Rg#, Rd#, reaction#, deplacement#, _
      Mb#, Md#, Ai#, Bi#, Ci#, EI#, portee#, inertie#, module#, k#, ByVal Ko#, ByVal Kn#)
    Private Declare Sub cM Lib "pcont.dll" Alias "_CONSTRUIT_MATRICE@56" (ByVal nbt&, a#, b#, c#, e#, portee#, inertie#, module#, k#, ByVal Ko#, ByVal Kn#, Ma#)
    Private Declare Sub cT Lib "pcont.dll" Alias "_CALCULS_TRAVEES@136" (ByVal nbt&, ByVal nelem&, ByVal pas&, ByVal l#, ByVal abscisse#, ByVal n&, Ma#, cod#, Rog#, Rod#, Rg#, Rd#, _
     reaction#, deplacement#, Mb#, Md#, Mt#, Th#, Fl#, Re#, Ai#, Bi#, Ci#, EI#, portee#, inertie#, module#, k#, ByVal Ko#, ByVal Kn#)
    Cordialement



    Dans le même éditeur de programme, voici ce qu'il y a.

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    Private Declare Sub cA Lib "pcont.dll" Alias "_CALCULS_APPUIS@100" (ByVal nbt&, ByVal nelem&, ByVal genre&, Ma#, cod#, Rog#, Rod#, Rg#, Rd#, reaction#, deplacement#, _
      Mb#, Md#, Ai#, Bi#, Ci#, EI#, portee#, inertie#, module#, k#, ByVal Ko#, ByVal Kn#)
    Private Declare Sub cM Lib "pcont.dll" Alias "_CONSTRUIT_MATRICE@56" (ByVal nbt&, a#, b#, c#, e#, portee#, inertie#, module#, k#, ByVal Ko#, ByVal Kn#, Ma#)
    Private Declare Sub cT Lib "pcont.dll" Alias "_CALCULS_TRAVEES@136" (ByVal nbt&, ByVal nelem&, ByVal pas&, ByVal l#, ByVal abscisse#, ByVal n&, Ma#, cod#, Rog#, Rod#, Rg#, Rd#, _
     reaction#, deplacement#, Mb#, Md#, Mt#, Th#, Fl#, Re#, Ai#, Bi#, Ci#, EI#, portee#, inertie#, module#, k#, ByVal Ko#, ByVal Kn#)
     
     
     
    Sub calcul_moments(nbt As Long, portee() As Double, cod() As Double, Ko As Double, Kn As Double, k() As Double, module() As Double, inertie() As Double, moments() As Double, tranchants() As Double, flèches() As Double, réactions() As Double)
     
    'intermédiaires :
    Dim Rog(150) As Double, Rod(150) As Double, Rg(150) As Double, Rd(150) As Double
    Dim reaction(150) As Double, deplacement(150) As Double, Mb(150) As Double, Md(150) As Double
    Dim Ai(150) As Double, Bi(150) As Double, Ci(150) As Double, EI(150) As Double
    Dim Ma() As Double
    Dim genre As Long
    Dim distance As Double, abscisse As Double
    'sorties :
    Dim Mt(25, 2) As Double, Th(25, 2) As Double, Fl(25, 2) As Double, Re(25, 2) As Double
    'autres :
    Dim i As Long, j As Long, l As Double
     
    ReDim Ma(nbt, nbt) As Double
    genre = 1
    Call cM(nbt, Ai(0), Bi(0), Ci(0), EI(0), portee(0), inertie(0), module(0), k(0), Ko, Kn, Ma(0, 0))
    Call cA(nbt, cod(0, 0), genre, Ma(0, 0), cod(0, 0), Rog(0), Rod(0), Rg(0), Rd(0), reaction(0), deplacement(0), Mb(0), Md(0), Ai(0), Bi(0), Ci(0), EI(0), portee(0), inertie(0), module(0), k(0), Ko, Kn)
    For i = 1 To nbt
        Call cT(nbt, cod(0, 0), pas, portee(i), abscisse, i, Ma(0, 0), cod(0, 0), Rog(0), Rod(0), Rg(0), Rd(0), reaction(0), deplacement(0), Mb(0), Md(0), Mt(0, 0), Th(0, 0), Fl(0, 0), Re(0, 0), Ai(0), Bi(0), Ci(0), EI(0), portee(0), inertie(0), module(0), k(0), Ko, Kn)
        For l = 1 To 3
            For j = 1 To 2 * pas
                moments(2 * (i - 1) * pas + j, l) = Mt(j, l - 1)
                tranchants(2 * (i - 1) * pas + j, l) = Th(j, l - 1)
            Next
            For j = 1 To pas
                flèches(2 * (i - 1) * pas + 2 * j - 1, l) = 1000 * Fl(j - 1, l - 1)
                flèches(2 * (i - 1) * pas + 2 * j, l) = 1000 * Fl(j, l - 1)
            Next
            réactions(2 * i - 1, l) = Re(0, l - 1)
            réactions(2 * i, l) = Re(1, l - 1)
        Next
    Next
     
     
    For j = 1 To 2 * pas * nbt
        'mini
        moments(j, 1) = moments(j, 1) + moments(j, 2)
        tranchants(j, 1) = tranchants(j, 1) + tranchants(j, 2)
        flèches(j, 1) = flèches(j, 1) + flèches(j, 2)
     
        'maxi
        moments(j, 3) = moments(j, 3) + moments(j, 2)
        tranchants(j, 3) = tranchants(j, 3) + tranchants(j, 2)
        flèches(j, 3) = flèches(j, 3) + flèches(j, 2)
    Next
     
    For j = 1 To 2 * nbt
        réactions(j, 1) = réactions(j, 1) + réactions(j, 2)
        réactions(j, 3) = réactions(j, 3) + réactions(j, 2)
    Next
     
    End Sub

Discussions similaires

  1. Réponses: 11
    Dernier message: 29/10/2014, 12h30
  2. Retrouver les options de compilation d'un programme
    Par Arrnno dans le forum AS/400
    Réponses: 3
    Dernier message: 06/04/2009, 17h51
  3. Retrouver les dll que charge un programme ?
    Par barbuslex dans le forum Windows
    Réponses: 2
    Dernier message: 23/03/2009, 18h59
  4. Retrouver les attributs d'un noeud...
    Par LLaurent dans le forum XMLRAD
    Réponses: 2
    Dernier message: 18/12/2003, 09h20
  5. retrouver les compsants FASTNET sous Delphi 7
    Par fandor7 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 11/06/2003, 18h11

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