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 :

arrêter des macros à partir d'une autre macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Contrôleur interne
    Inscrit en
    Juillet 2020
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Contrôleur interne

    Informations forums :
    Inscription : Juillet 2020
    Messages : 16
    Par défaut arrêter des macros à partir d'une autre macro
    Bonjour à tous,

    Je cherche un code vba qui permet de lancer l'arrêt de plusieurs macros à partir d'une autre macro.

    Exemple la macro 10 stoppe les macros 1, 2, 3..........

    Je n'ai aucune notion en vba quelqu'un peut-il m'aider ?

    Je vous remercie par avance :-)

  2. #2
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Citation Envoyé par Dautomne Voir le message
    Bonjour à tous,
    Je cherche un code vba qui permet de lancer l'arrêt de plusieurs macros à partir d'une autre macro.
    Exemple la macro 10 stoppe les macros 1, 2, 3..........
    Je n'ai aucune notion en vba quelqu'un peut-il m'aider ?
    Ta demande est très étrange. sans connaissance du VBA, est probablement mal formulée :
    - Il est est très très rare, je dirais même exceptionnel, que plusieurs macros fonctionnent simultanément !!!
    - D'autre part une macro bien conçue ne fonctionne pas indéfiniment ... soit elle se termine seule, soit elle dispose d'un dispositif d'arrêt. Je dirais même qu'une macro qui fonctionne en permanence est une aberration vu qu'on ne peut pas l'arrêter !

    Pourquoi voudrais-tu arrêter une macro à l'aide d'une autre ?

  3. #3
    Membre averti
    Femme Profil pro
    Contrôleur interne
    Inscrit en
    Juillet 2020
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Contrôleur interne

    Informations forums :
    Inscription : Juillet 2020
    Messages : 16
    Par défaut
    Citation Envoyé par Patrice740 Voir le message
    Ta demande est très étrange. sans connaissance du VBA, est probablement mal formulée :
    - Il est est très très rare, je dirais même exceptionnel, que plusieurs macros fonctionnent simultanément !!!
    - D'autre part une macro bien conçue ne fonctionne pas indéfiniment ... soit elle se termine seule, soit elle dispose d'un dispositif d'arrêt. Je dirais même qu'une macro qui fonctionne en permanence est une aberration vu qu'on ne peut pas l'arrêter !

    Pourquoi voudrais-tu arrêter une macro à l'aide d'une autre ?
    Bonsoir Patrice,

    Merci pour ta réponse :-)

    Mon problème est le suivant :

    Les données que je renseigne dans la feuille "Fiche de contrôle" alimentent les formules présentes dans la feuille "Synthèse résultats ctrl période". A la moindre modification de la feuille "Fiche de contrôle" les macros qui contiennent les formules/instructions se mettent automatiquement à mouliner pour modifier les résultats. Ça devient compliqué de bosser.

    Je veux juste que les macros ne se lancent pas à chaque modification.

    Voilà un extrait de mon fichier :

    https://www.cjoint.com/c/JGFtlJVGLaO

    Cordialement.

  4. #4
    Membre émérite
    Homme Profil pro
    Responsable des études(en disponibilité)
    Inscrit en
    Juin 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable des études(en disponibilité)
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 367
    Par défaut
    Bonsoir

    Je n'ouvre pas les fichiers joints pas sécurité et par principe.

    tu peux essayer de figer les macros événementielles pendant l'exécution de ta macro.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      'en debut de code Désactivation de tous les événements
        Application.EnableEvents = False
     
     
     
        'en fin de code Réactivation de tous les événements
        Application.EnableEvents = True

  5. #5
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut
    Bonsoir,

    EDIT : A_diard plus rapide. 😉

    D'après ce que je comprends, il s'agirait de bloquer les événements excel lors des modifications d'une feuille précise.
    Peut-être un bouton toogle ( bouton à bascule), te permettrais d'effectuer cela facilement.

    Cependant, je préfère largement lancer mes codes via un bouton/raccourcis clavier, je n'ai jamais été trop fan des macro événementielles pour ce type de soucis.

    Par exemple, pour bloquer les événements dans Excel, on peu utiliser ce type de code ( attention qu'une gestion d'erreur doit être mise en place, sans quoi en cas de sortie/crash aie aie aie)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        Application.EnableEvents = False ' coupe les Evenements
    '. 
        Application.EnableEvents = True ' active les événements
    Avec l' utilisation d'un toogle tu pourrais facilement créer un bouton on/off pour bloquer et débloquer les évent.
    Ci dessous une discution récente avec une belle démonstration de l' utilisation des boutons bascule par Phippe Tulliez :

    https://www.developpez.net/forums/d2...ons-alternees/

  6. #6
    Membre Expert Avatar de mfoxy
    Homme Profil pro
    Automation VBA
    Inscrit en
    Février 2018
    Messages
    752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Automation VBA
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2018
    Messages : 752
    Par défaut
    Bonsoir Patrice,

    Autant pour moi, il est temps que je me repose un peu. Lol
    Forcément vu que les événements sont bloqués...

  7. #7
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Citation Envoyé par mfoxy Voir le message
    Bonsoir Patrice,

    Autant pour moi, il est temps que je me repose un peu. Lol
    Forcément vu que les événements sont bloqués...
    J'avais pas essayé, mais ça ne bloque pas les activeX (j'ai donc supprimé ma réponse) ..;

  8. #8
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Dans ce fichier, la seule macro qui s'exécute automatiquement est celle qui affiche / masque les colonnes.
    Par contre, effectivement, elle s'exécute à chaque modification de cellule !

    Toutes les autres macros contenues dans ce fichier me semblent parfaitement inutiles :
    - il n'y a aucune commande pour les exécuter ...
    - si ce n'est pas toi qui les as créées pourquoi les conserver ?
    - elles pourraient être remplacées par des formules.
    - Quand à la macro pour masquer/afficher les colonnes, ça relève plus du gadget que d'une application mûrement réfléchie.

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

Discussions similaires

  1. Insérer des données à partir d'une autre table
    Par Anduriel dans le forum Langage SQL
    Réponses: 10
    Dernier message: 27/07/2012, 17h40
  2. Réponses: 7
    Dernier message: 27/09/2010, 08h21
  3. appeler des composants à partir d'une autre frame
    Par lex13 dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 08/07/2007, 21h00
  4. [VBA-E] extraire des données à partir d'une autre feuille
    Par zzman dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/01/2007, 13h26
  5. Réponses: 5
    Dernier message: 12/12/2006, 16h24

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