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 :

Appel procédure d'une macro complémentaire a l'ouverture du classeur [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 48
    Points : 24
    Points
    24
    Par défaut Appel procédure d'une macro complémentaire a l'ouverture du classeur
    Bonjour,

    J'ai créé un fichier macro complémentaire (appelé comp.xla).
    Dans ce fichier .XLA, j'ai créé un module appelé "module1" ou j'ai 5 procédures "Sub" et 4 fonctions "Function". Ma Sub principale s'appelle "Prog()".

    J'ai ensuite intégré le fichier macro complémentaire dans la liste des macros complémentaires a utiliser lors de l'ouverture d'Excel (Outils, macro complementaires...).

    Maintenant, j'ai un classeur Excel appelé etude.xls. Lorsque j'appelle Prog() a partir de Outils, Macro, démarrer macro, ca marche, c'est parfait.

    Mon but est que la procédure Prog() soit appelé automatiquement a chaque ouverture du classeur Excel appelé etude.xls (et etude2.xls aussi)

    Mon problème est quand j'essaie d'intégrer la ligne "Call Module1.Prog" dans :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Workbook_Open()
     
    Call Module1.Prog
     
    End Sub
    du classeur etude.xls, j'ai l'erreur 424 car l'objet n'est pas trouvé

    alors j'essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call Workbooks("Comp.xla").Module1.Prog
    et j'obtiens : run-time error '438' : Object doesn't support this property or method

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call Workbook("Comp.xla").Module1.Prog
    et j'obtiens : Compile error : Sub or Function not defined

    Ma question est que dois-je donc écrire pour que ca fonctionne ? :-)

    Merci

  2. #2
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut modif code
    Essai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Run "comp.xla!Prog"

  3. #3
    Membre du Club
    Inscrit en
    Juin 2009
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 41
    Points : 49
    Points
    49
    Par défaut
    tu peu utiliser les procédure de ta macro complémentaire sur ton pc quand tu le veu ?

    enfin en tout cas les macro complémentaire ont besoin d'etre activé (par clique dessus ou autrement)

    c'est ce que j'ai constaté avec une macro de calendrier graphique

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 48
    Points : 24
    Points
    24
    Par défaut
    J'ai remplace par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Run "Comp.xla!Prog"
    Marche parfaitement
    Merci aalex_38

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 48
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par garion28 Voir le message
    tu peu utiliser les procédure de ta macro complémentaire sur ton pc quand tu le veu ?

    enfin en tout cas les macro complémentaire ont besoin d'etre activé (par clique dessus ou autrement)

    c'est ce que j'ai constaté avec une macro de calendrier graphique

    Oui, je peux les utiliser quand je le veux il suffit d'ecrire le nom de la Sub ou Function dans "Lancer macro" ou alors ecrire dans une cellule =NOM_Function()

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 48
    Points : 24
    Points
    24
    Par défaut
    OOOOOps, je viens de m’apercevoir que n’enregistre pas mon classeur, par quoi dois-je remplacer "ThisWorkbook" sachant que je ne veux pas mettre workbook("etudes.xls") étant donné que j'ai aussi "etudes2.xls" ?

  7. #7
    Membre chevronné Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Points : 1 999
    Points
    1 999
    Par défaut
    Essai avec

    Sinon tu peux instancier un classeur avec le nom de celui-ci a l'ouverture, mais il faudrait voir comment tu ouvres etude et etude2.
    A+

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2006
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 48
    Points : 24
    Points
    24
    Par défaut
    Citation Envoyé par aalex_38 Voir le message
    Essai avec
    Merci

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

Discussions similaires

  1. [AddIn] AutoUpdate d'une macro-complémentaire Add-In
    Par cafeine dans le forum Contribuez
    Réponses: 3
    Dernier message: 11/10/2023, 14h53
  2. acces à une procédure d'une Macro complémentaire
    Par toni.72 dans le forum VBA PowerPoint
    Réponses: 0
    Dernier message: 10/10/2009, 10h11
  3. [VBA Excel] Pb avec une macro complémentaire
    Par Nyck0las dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/11/2007, 22h19
  4. [VBA-E]-Appeler une macro complémentaire ?
    Par Régolo dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/04/2007, 23h34
  5. Appel procédure d'une autre unité
    Par cgone dans le forum Delphi
    Réponses: 2
    Dernier message: 29/11/2006, 01h06

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