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 :

Exécuter depuis n'importe quelle feuille un programme VB stocké dans PERSONAL.XLSB [XL-2016]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Paramétreur de progiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2017
    Messages : 1
    Par défaut Exécuter depuis n'importe quelle feuille un programme VB stocké dans PERSONAL.XLSB
    Bonjour !
    Je souhaite avoir à ma disposition un bouton dans la barre d'outils qui lance un programme VB. Cette fonction doit être disponible quelle que soit la feuille ouverte.
    J'ai créé mon programme VB qui fonctionne parfaitement en étant intégré à un classeur particulier. Pour le rendre disponible à n'importe quel classeur, je l'ai déplacé dans PERSONAL.xlsb (qui est ouvert à chaque démarrage d'Excel.
    J'ai créé l'onglet + le bouton avec le lien vers mon programme, en cliquant sur le bouton, le programme se lance effectivement. Par contre il se lance comme si il était exécuté depuis le classeur PERSONAL.xlsb ... donc plantage. En insérant au début de mon code MsgBox (ThisWorkbook.ActiveSheet.Name), il m'affiche bien le nom de la feuille de calcul par défaut de PERSONAL.xlsb (Feuil1) et pas la feuille sur laquelle j'aimerais que le programme agisse.
    Comment indiquer à mon code de s'exécuter dans le classeur / feuille actif et pas dans PERSONAL.xlsb ... je sèche ...
    Merci !

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    essaie avec ActiveWorkbook plutôt que ThisWorkbook qui est celui contenant la macro...

  3. #3
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    ThisWorkbook est le classeur dans lequel se trouve la macro.
    https://msdn.microsoft.com/fr-fr/lib.../ff193227.aspx (au passage, l'exemple de cette page me semble très mal choisi).

    ActiveWorkbokk est le classeur actif au moment où cette ligne de code est exécutée.
    https://msdn.microsoft.com/fr-fr/lib.../ff821871.aspx

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/06/2011, 16h30
  2. Réponses: 1
    Dernier message: 08/04/2011, 12h22
  3. Réponses: 1
    Dernier message: 25/10/2010, 19h54
  4. Réponses: 6
    Dernier message: 20/04/2007, 15h45
  5. l'appel de n importe quelle fct lors de l'excution
    Par dalhia dans le forum Windows
    Réponses: 3
    Dernier message: 12/09/2006, 09h56

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