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 :

lancer des macros à la sélection de feuilles [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 12
    Par défaut lancer des macros à la sélection de feuilles
    Bonjour,

    Je cherche à lancer une macro lorsque d'une feuille X je sélectionne ma feuille Y.
    J'ai vu pas mal de choses déjà sur différents forum à ce sujet mais je n'arrive pas à les faire fonctionner (Worksheet_Activate(), Worksheet_SelectionChange(), Call Module1.MaMacro, etc etc)

    Des idées de pourquoi ça ne marche pas ?
    Merci d'avance !

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Worksheet_Activate() fera l'affaire (dans le module de ta feuille) ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    dans le module Thisworkbook avec Sh la feuille activée.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 87
    Par défaut activate
    bonjour,
    peux tu en dire plus sur ton besoin et ce qui ne fonctionne pas actuellement.
    Veux tu le même traitement si tu passes de X à Y ou si tu passes de Z à Y ?
    L'évènement activate peut fonctionner de manière inconditionnelle ou non.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub Worksheet_Activate()
      MsgBox "feuil1"
    End Sub
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    Private Sub Worksheet_Activate()
      MsgBox "feuil2"
    End Sub

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 12
    Par défaut
    Bonjour,

    Merci pour vos réponses. J'ai déjà essayé toutes les méthodes dont vous parlez et aucune ne me lance mes macros.
    Si depuis Visual Basic j'exécute

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_Activate()
      MsgBox "feuil1"
    End Sub
    (ou les autres d'ailleurs) alors pour le coup ça marche .
    Par contre, dans mon classeur, si je passe de n'importe quelle feuille à la feuille sur laquelle je voudrai que ma macro se déclenche, rien ne se passe....

    Peut être manque t'il une option quelque part ?
    Pour l'instant je déclenche mes macros par bouton sur chacune de mes feuilles (ça marche sans soucis) mais l'idéal serait vraiment que les calculs s'exécutent tout seul à l'arrivée sur la feuille.

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    1. Lance cette macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Test()
     
    Application.EnableEvents = True
    End Sub
    Le 1. est nécessaire au cas où les évènements sont désactivés



    2. Dans le module Thisworkbook, mets ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Workbook_SheetActivate(ByVal Sh As Object)
     
    MsgBox Sh.Name
    End Sub
    Active tes feuilles successivement

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 87
    Par défaut
    Tu n'aurais pas appuyé sur l'icone de l'équerre bleu ciel "mode création" dans la barre d'outils ?
    (Dans ce cas les macros ne peuvent se lancer que par l'éditeur)
    Dans ce cas, il faut recliquer dessus

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 12
    Par défaut
    L'icône création n'est pas cochée et toutes mes macros commencent par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With Application
    .ScreenUpdating = False
    .EnableEvents = True
    End With
    J'ai essayé ce que tu dis mercatog mais sans succès.

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Par défaut
    Citation Envoyé par AstridT Voir le message
    Bonjour,

    Je cherche à lancer une macro lorsque d'une feuille X je sélectionne ma feuille Y.
    Je ne comprends pas la question! Perso je ne suis pas un bête mais de lancer une macro d'une feuille x ( par quel moyen ? ) pour sélectionner une feuille Y ce n'est pas difficile!! Il faut peut-être que tu renseigne l'adresse de la feuille X du style feuilleactive = activesheet.name !!

    Donne + de renseignement sur ta macro!

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

Discussions similaires

  1. Est il possible de lancer une macro Access dans une feuille excel
    Par nanoo79 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 07/04/2014, 14h48
  2. Réponses: 6
    Dernier message: 24/02/2012, 15h25
  3. [XL-2007] lancer des macro avec commandB
    Par tompom3108 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 21/12/2011, 12h21
  4. [XL-2003] Lancer des macros dans un userform
    Par PetitePatate dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/05/2010, 18h40
  5. [Excel] Lancer des macros VB
    Par soeursourire dans le forum MATLAB
    Réponses: 4
    Dernier message: 20/11/2008, 18h27

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