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 :

Macro complémentaire .xla [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut Macro complémentaire .xla
    Bonjour à tous,

    Je me suis créé des macros complémentaires dans un .xla (que je placerai sur le réseau pour que tous les postes puissent y avoir accès).

    Mon .xla est créé et dans mon Excel dans le menu "macro complémentaire" j'ai coché mon .xla

    Le problème, je ne sais pas comment accéder aux macros dans ce fichier (J'ai deux macros test pour l'instant) Est-ce que je dois passer par la même façon qu'une macro normale (ALT+F8) si oui, ça ne fonctionne pas...

    Merci de m'éclairer!

  2. #2
    Membre habitué Avatar de scully2501
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    184
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 184
    Points : 148
    Points
    148
    Par défaut
    Je t'avoue que ton probleme est pas tres claire, peux tu mieux expliquer? tu auras peut etre plus de reponse.
    C'est tout un art de savoir programmer. Passant des heures à chercher une solution avec plaisir et joie.

  3. #3
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Et bien,

    J'ai créé un .xla contenant deux macros (dans module).

    Je l'ai placé sur le réseau pour qu'il soit accessible par plusieurs postes.
    Je suis capable d'aller le chercher avec le menu "Macros complémentaires" avec "parcourir".

    Mais, un coup coché dans la liste, je ne sais pas comment accéder aux macros du .xla dans mon classeur actuel.

    J'espère que c'est plus clair sinon, je ne peux pas être plus clair!

  4. #4
    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 plutôt avec ALT+F11

  5. #5
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Oui,

    Alt+F11 me donne accès au code VBA, mais comment exécuter une macro dans le .xla?

    Avec le Alt+F8 j'ai les macros du classeur et les macro PERSO. Comment exécuter une macro se trouvant dans le .xla?

    Merci encore!

  6. #6
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    Bonjour à tous

    pour les fonctions, il n'y a pas de problèmes, pour les Sub il faut lier le VBA et la Xla
    tu vas dans le VBA de ton classeur, Menu outils / Référence
    tu coches la référence de ta XLA
    tu valides

    à gauche tu as une nouvelle rubrique : références
    tu enregistres ton classeur

    tout est ok
    Wilfried

  7. #7
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Bonjour,

    J'ai bien le .xla dans la liste de mes projets dans l'éditeur VBA.
    J'ai coché la référence dans "Outils", j'ai changé mes sub par des function mais... dans mon classeur, comment puis-je appelé ma function du .xla?

    Deuxième question, est-ce que je dois ajouter la référence pour chaque classeur que les usagers utiliseront?

    Merci de vos réponses!

  8. #8
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    re:

    je ne pense pas t'avoir dit de modifier tes Sub par Function mais si tu peux le faire (ce qui n'est pas certain puisque certaines action ne peuvent être faite pas une fonction)

    j'ai dit que pour les Sub il fallait référencer au niveau du code VBA ta Xla mais que pour les fonctions ce n'est pas utile.
    Pour les fonction, il suffit de charger la Xla au niveau du classeur (Menu outils / macros complémentaires)

    voici une procédure à placer dans le module ThisWorkBook de ta macro complémentaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Explicit
    Public WithEvents oApp As Excel.Application
    ' on ouvre un classeur
    Private Sub oApp_WorkbookOpen(ByVal Wb As Workbook)
        If Wb.Name <> "Monclasseur.xls" Then Exit Sub ' si ce n'est pas le bon nom on sort
    ' on référence la macro complémentaire
        Wb.VBProject.References.AddFromFile "C:\Mon Chemin Complet\Ma Macro Complementaire.xla"
    End Sub
     
    Private Sub Workbook_Open()
        Set oApp = Excel.Application ' permet de gerer les interruption d'évènement de tous les classeurs
    End Sub
    Wilfried

  9. #9
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Bonjour,

    Avec ce code, j'ai bien mon .xla en référence.

    Mais comment faire pour accéder aux macros contenues dans le .xla?

    J'ai une macro dans mon .xla qui affiche affiche la valeur de la cellule active dans un msgbox, comment l'exécuter? (Je voudrais trouver l'équivalent du menu Alt+F8 des macros standards mais pour les complémentaires)

    Merci encore de votre aide!

  10. #10
    Membre chevronné Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Points : 1 900
    Points
    1 900
    Par défaut
    re:

    tu as plusieurs possibilités, dont une vient de t'etre donnée avec la gestion de référence.
    Cette dernière en réalité, crée un gestionnaire d'évènement qui concerne non pas le classeur, mais l'application. c'est ce qui a permis de gérer l'évènement open d'un classeur et d'y intégrer la référence.
    Tu peux dans ce cas, continuer à intercepter les évènements comme sélection de cellule, modification, sélection de feuilles........
    En haut à gauche, une liste déroulante avec ThisWorkBook et oApp, oApp concerne les évènements de l'application. à droite, une liste déroulante avec toutes les interruptions possibles (il y en a beaucoup plus qu'avec ThisWorkBook)

    la 2ème solution (la plus simple je crois) et de te créer des boutons ou une nouvelle barre dans la barre en haut. Tu n'as plus besoin de lier les classeur,s à la XLA et c'est la XLA qui crée ses boutons.

    Dans tous les cas, Il est très délicat de programmer une XLA (surtout quand on commence), car la XLA est aussi un classeur et faire l'amalgame entre ThisWorkBook et ActiveWorkBook devient très dangereux.
    Wilfried

  11. #11
    Membre confirmé Avatar de drakkar_agfa
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 618
    Points : 638
    Points
    638
    Par défaut
    Merci des renseigements!

    J'ai ajouté des menus avec mon XLA.

    Il me reste à tout tester mais la base fonctionne.

    Merci encore!!

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

Discussions similaires

  1. [XL-2003] Macro complémentaire xla: ajout description fonction perso
    Par yizashi dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 17/01/2012, 13h23
  2. [AC-2003] Importer macro excel complémentaire (.xla) dans Access (.mda)
    Par Mael730 dans le forum Access
    Réponses: 3
    Dernier message: 03/11/2009, 15h36
  3. macro complémentaire xla
    Par harlockbaz dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/01/2008, 09h16
  4. [VBA-E] macros complémentaires .xla et .xlt
    Par aA189 dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 08/05/2007, 16h04
  5. [VBA-E] Utilisation macros complémentaire xla
    Par EvaristeGaloisBis dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/04/2007, 16h15

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