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 :

Ouverture /macro/ fermeture d'une feuille à partir d'une autre.. [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2010
    Messages : 21
    Par défaut Ouverture /macro/ fermeture d'une feuille à partir d'une autre..
    Bonjour,

    Voici mon problème:

    Dans un classeur j'ai une "Feuil1" qui comporte une macro qui se lance à l'ouverture de celle-ci, et une "Feuil2" qui comporte également une macro qui se lance à l'ouverture de la "Feuil2".

    Mon besoin est le suivant:

    Lorsque j'ouvre la "Feuil1" celle-ci doit ouvrir (de préférence de manière invisible) la "Feuil2" pour le déroulement de la macro "Feuil2", et ensuite revenir sur la "Feuil1" pour finir le déroulement de la macro "Feuil1".

    Je dois pouvoir également ouvrir la "Feuil2" indépendamment, sans que celle-ci m'envoie sur la "Feuil1".
    Tous mes essais se terminent par une macro qui tourne en boucle sur mes deux feuilles...

    Merci pour vos idées...

    Eric

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour, bonjour,

    pour accéder aux données d'une feuille même si ce n'est pas celle active il est inutile de l'ouvrir !

    Un bon code ne comporte pas de Select ni d'autre ralentisseur tel Activate

    L'autre possibilité en laissant l'usine en l'état est de désactiver ponctuellement les évènements,
    consulter l'aide de la propriété EnableEvents


  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2010
    Messages : 21
    Par défaut
    Ok, mais comment se déclenche le "Sub Worksheet_Activate()" de la "Feuil2", car j'ai absolument besoin que la macro de la "Feuil2" tourne afin de récupérer des mises à jour de données sur d'autres feuilles annexes et de les mettre en forme.

    Ensuite retour à la "Feuil1" dont la macro récupère certaines données de la "Feuil2".

    Eric

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Comme pourtant déjà indiqué, soit pas d'ouverture d'autre feuille par code
    car c'est totalement inutile à partir de la feuille active pour accéder aux données d'une autre feuille (1),
    soit en laissant en l'état la mauvaise conception et en désactivant ponctuellement par code les évènements …

    (1) Hierarchie à respecter : Application.Workbook.Worksheet.Range

    Exemple ici

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2010
    Messages : 21
    Par défaut
    D'accord, je vais faire des tests, mais pour l'instant je ne vois pas bien ce qui va provoquer le recalcul de ma "Feuil2" avant que ma "Feuil1" ne récupère les données...

    Merci,

    Eric

    Ci-joint un fichier de test:

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Septembre 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2010
    Messages : 21
    Par défaut
    Après un peu de réflexion, la solution avec la propriété "EnableEvents..." fonctionne parfaitement.

    L'ouverture de ma "Feuil1" déclenche la macro de la "Feuil2" avant de poursuivre sur la sienne, est tout ceci sans boucle infinie...

    Merci,

    Eric

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

Discussions similaires

  1. Macro pour imprimer des elements à partir d'une feuille excel
    Par SATDVB dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 19/08/2013, 06h49
  2. Réponses: 6
    Dernier message: 24/09/2011, 00h40
  3. Créer une image à partir d'une feuille Excel
    Par fredo38 dans le forum Documents
    Réponses: 4
    Dernier message: 03/07/2008, 14h11
  4. Réponses: 2
    Dernier message: 08/04/2008, 18h47
  5. affichage dans cellule d'une feuille à partir d'une autre ?
    Par estivals34300 dans le forum Excel
    Réponses: 2
    Dernier message: 01/11/2007, 00h33

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