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]Atteindre une fonction dans un xla


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    39
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 39
    Par d�faut [VBA]Atteindre une fonction dans un xla
    Bonjour � tous !

    Ce matin, j'ai trouv� une m�thode int�ressante mais j'ai besoin de votre aide.

    J'ai suivi ce tuto-ci : http://support.microsoft.com/default.aspx?scid=kb;en-us;Q256624

    =MyFunctionWrapper(2000, 18, 7.5) fonctionne bien quand on l'entre dans une cellule mais lorsque je veux appeler la fonction dans le code VBA, il met qu'il ne connait pas la fonction "Compile Error: Sub or Function Not Defined"

    J'ai cherch� apr�s la solution mais je n'ai pas trouv�.

    Mon code est celui du lien car j'ai test� avec leur code d'abord

    Merci de votre aide

  2. #2
    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
    Par d�faut
    Je pense qu'il manque une r�f�rence au nom de fichier de la macro compl�mentaire (xla)
    Juste une id�e. Comme j'ai d�j� fait �a, je regarde si je retrouve.

    A+

  3. #3
    Expert confirm�

    Homme Profil pro
    Inscrit en
    Ao�t 2005
    Messages
    3 317
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Ao�t 2005
    Messages : 3 317
    Par d�faut
    bonjour

    tu peux tester

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    MsgBox Application.Run("maProcedure.XLA!MyFunctionWrapper", 2000, 18, 7.5)

    bonne journ�e
    michel

  4. #4
    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
    Par d�faut
    Merci SilkyRoad, m'�vite un fastidieuse recherche...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    39
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 39
    Par d�faut
    Citation Envoy� par SilkyRoad
    bonjour

    tu peux tester

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    MsgBox Application.Run("maProcedure.XLA!MyFunctionWrapper", 2000, 18, 7.5)

    bonne journ�e
    michel
    Voil� ca marche.

    Je vous remercie de m'avoir aid�.
    Je met R�solu dans le titre du topic??

    Bonne journ�e � vous !

  6. #6
    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
    Par d�faut
    Non, pour mettre r�solu, tu as un bouton en bas � gauche
    Voil�, c'est fait...

    A+

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    39
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 39
    Par d�faut
    Ha voil� j'ai retir� le r�solu car j'ai un probl�me :

    Edit�.

    J'ai un autre probl�me mais je vais continuer � chercher je fais appel � vous si je ne trouve pas

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    39
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 39
    Par d�faut
    Bon voil�.

    J'ai un probl�me et je ne le comprends pas.

    J'ai v�rifi� tous les noms et ce n'est pas ca.

    Je poste le code :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     
    Public Function GetAttribute(ByVal sPerNumber As String, ByVal sAttribute As String) As Variant
       Dim oAdd As Object
       Set oAdd = Application.COMAddIns.Item("SimulationToolAddIn.Connect").Object
    [b]   GetAttribute = oAdd.GetAttributeWrapped(sPerNumber, sAttribute)[/b]
       Set oAdd = Nothing
    End Function
    L'erreur se fait sur la ligne en gras et est la suivante : Run time error'13' type mismatch

    Mauvais type :

    Ma fonction dans le addin :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Public Function GetAttributeWrapped(ByVal sPerNumber As String, ByVal sAttribute As String) As Variant
     
    ' Le code étant assez long, je l'ai retiré car ca ne rentre meme pas dans la fonction 
     
       GetAttributeWrapped = vReturn
     
    End Function
    A priori, quand je rentre 000000 comme num�ro, il ne doit rien renvoyer et donc ca passe.
    Par contre, quand je rentre 000002, il doit renvoyer un string, etc (=>variant) ben ca plante avec l'erreur d�crire ci dessus

  9. #9
    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
    Par d�faut
    Supprime ta d�claration
    Dim oAdd As Object
    Je crois avoir remarqu� que VBA(97) ne l'accepte pas si tu fais un set ensuite
    Sans garantie, tu v�rifies

    A+

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    39
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 39
    Par d�faut
    Citation Envoy� par ouskel'n'or
    Supprime ta d�claration
    Dim oAdd As Object
    Je crois avoir remarqu� que VBA(97) ne l'accepte pas si tu fais un set ensuite
    Sans garantie, tu v�rifies

    A+
    Au fait, c'�tait un conflit dans les r�f�rences. Microsoft DAO 3.x et Microsft ActiveX Data Objects ...

    Mais bon, j'ai encore un probl�me.
    Lorsque je lance une nouvelle feuille excel (le xla est au startup), j'�cris =GetAttribute(1,"Bla") ca fonctionne.

    Par contre, dans une autre ca ne fonctionne pas, il me met #NAME. J'ai pourtant les memes r�f�rences j'ai v�rifi�.

    De plus, j'�cris la function en minuscules et il me met les maj tout seul, il la reconnait donc.
    Et elle est dans la liste des fonctions d'excel..

    Edit: Bon voil�, au fait c'est pcq j'ai un dll activex qui est aussi dans le projet mais l� dedans je ne sais pas mettre toutes les fonctions. Or, il veut aller chercher le getattribute dans cette dll la au lieu de passer par le xla.
    En sachant que : Application.Run("SimulationToolWrap.xla!GetAttribute", 1, "Bla") ne passe pas en code excel, y a t il un moyen pour forcer � chercher ailleurs que dans le dll activex?

Discussions similaires

  1. [XL-2010] Ecriture d'une fonction dans une cellule via VBA
    Par Seb-Office dans le forum Macros et VBA Excel
    R�ponses: 7
    Dernier message: 11/11/2010, 17h39
  2. [VBA-E] Une fonction Excel dans une fonction VBA
    Par laloune dans le forum Macros et VBA Excel
    R�ponses: 10
    Dernier message: 14/07/2006, 10h21
  3. Appel d'une fonction dans uns boucle d'un tableau
    Par PrinceMaster77 dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 04/02/2005, 15h37
  4. R�ponses: 4
    Dernier message: 26/01/2005, 13h08
  5. Programmation d'une fonction dans Rn
    Par simone.51 dans le forum Algorithmes et structures de donn�es
    R�ponses: 5
    Dernier message: 12/11/2004, 11h30

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