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 :

Appeler une procédure étrangère


Sujet :

Macros et VBA Excel

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 138
    Par défaut Appeler une procédure étrangère
    Bonjour,

    J'ai réalisé une application sous forme d'une macro complémenatire (xla).
    Cette application génère automatiquement :
    - une feuille excel contenant une trame de saisie,
    - une barre de menu pour accéder aux fonctions de l'application.

    Pour une des fonctions de l'appli, je souhaiterais procéder autrement que par la barre de menu. Je voudrais que la feuille générée contienne un bouton pour appeler la procédure correspondante.
    Mon CommandButton est donc situé sur un fichier Excel, et il doit appeler l'une des procédures de mon appli xla (hébergée n'importe où, pas de chemin imposé).

    Mon problème : comment appeler une procédure étrangère depuis un CommandButton.

    J'espère que c'est suffisament clair et que ce sujet vous inspirera...

    Merci d'avance

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut
    sous macro apprentissabe, tu crées un bouton et tu lui affectes ta macro
    et tu regardes ce que fais le code
    A+

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 138
    Par défaut
    Merci Gorfael pour ta prompte réponse, mais je ne sais pas si je peux affecter à mon bouton un sub() inclu dans une macro xla étrangère.

    En tout cas, si j'utilise

    Cela ne fonctionne pas. Qu'en penses-tu ?

  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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Run "'Classeur.xla'!Procédure"
    Regarde dans l'aide à Run

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 138
    Par défaut
    Merci ouskel'n'or, je crois qu'on approche !

    Voici le code que j'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CommandButton1_Click()
    Application.Run ("Gammes v4 alpha (allégé).xla!AppelSMB")
    End Sub
    AppelSMB étant bien sûr la procédure que je cible.

    Pour le moment, j'ai un message d'erreur 1004,
    "Impossible de trouver la macro 'Gammes v4 alpha (allégé).xla!AppelSMB' "

    Est-ce que cette méthode ne suppose pas de connaître le chemin du xla ?

    Je précise que mon xla est bien ouvert.

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Par défaut
    Bonjour,

    Les parentheses sont superflues, d'autre part si le nom du fichier comprend des espace il faut l'entourer d'apostrophes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Run "'Gammes v4 alpha (allégé).xla'!AppelSMB"
    Cordialement,

    Tirex28/

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2005
    Messages
    138
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 138
    Par défaut
    Trop fort tirex28 !
    Merci à tous pour votre aide précieuse.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/01/2006, 17h12
  2. Update appelant une procédure stockées
    Par meufeu dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 06/10/2005, 18h31
  3. Comment appeler une procédure ?
    Par darkmalak01 dans le forum Débuter
    Réponses: 2
    Dernier message: 03/10/2005, 19h05
  4. comment appeler une procédure événementielle
    Par OutOfRange dans le forum Débuter
    Réponses: 8
    Dernier message: 03/06/2005, 19h32
  5. [appeler une procédure stockée]
    Par viny dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 10/03/2005, 22h38

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