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 :

Sortir du processus d'execution


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 49
    Par défaut Sortir du processus d'execution
    Bonjour,

    J'aimerai savoir si il y a une Fonction en vba qui permet de sortir totalement du flux d'execution..
    Je m'explique : Lorsque je click sur un bouton, plusieurs fonctions s'appelent les unes a la suite des autres (chaque fonction appel une ou plusieurs autres fonctions), et si au cour d'une fonction, une condition n'est pas respectée, je veux sortir totalement de la serie de fonction a executer..
    Le "Exit" ne me permet que de sortir d'une seule fonction ou sub, mais il passe la main a la fonction qui l'a appelée, et c'est ca qui m'embete!!

    Je vous remerci d'avance si vous avez une solution pour moi

    Yedid

  2. #2
    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
    On manque de précisions.
    Pour sortir d'une fonction et quitter la sub qui l'a appelée, tu dois tester la réponse de la fonction (une fonction est faite pour retourner "quelque chose")
    Donc c'est dans la sub que tu dois tester cette réponse.
    En simplifiant, peux-tu nous donner un exemple de subs et de fonctions ?

    Tu as une autre solution, un boolean déclaré en public. Si la condition attendu n'est pas remplie, tu passes ton boolean à True, boolean que tu testes dans la sub appelante pour en sortir ou pour continuer la procédure.
    En cas de procédures en cascade, le boolean conservera son état que tu pourras tester tout au long de tes procédures.
    Tu dis
    A+

  3. #3
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 49
    Par défaut
    C'est effectivement ce boolean que j'utilise pour l'instant (Public boolean continue_process)
    Mais je pensais qu'il existait aussi un Exit plus global qui permettait de sortir de tous le process....

  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
    Tu as "End" que tu peux mettre n'importe où et qui arrête tout

  5. #5
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par ouskel'n'or Voir le message
    Tu as "End" que tu peux mettre n'importe où et qui arrête tout
    Oui, mais bien lire les contraintes de ce qui va se passer dans l'aide
    Note L'instruction End met immédiatement fin à l'exécution du code, sans appeler d'événement Unload, QueryUnload, ou Terminate, ou tout autre code Visual Basic. Le code que vous avez écrit dans les événements Unload, QueryUnload, et Terminate des feuilles et des modules de classe n'est pas exécuté. Les objets créés depuis les modules de classe sont détruits, les fichiers ouverts au moyen de l'instruction Open sont fermés et la mémoire occupée par le programme est vidée. Les références d'objet appartenant à d'autres programmes ne sont plus valides.

    L'instruction End permet de forcer l'arrêt du programme. Pour qu'un programme Visual Basic se termine normalement, vous devez décharger toutes les feuilles. Votre programme se termine lorsqu'il n'y a plus aucun programme maintenant des références à des objets créés depuis vos modules de classe publics et qu'aucun code n'est exécuté.
    C'est brut comme méthode

    Starec

  6. #6
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 49
    Par défaut
    Merci, je viens de voir qu'il existe aussi la fonction STOP pour arreter le flux d'execution (end efface les variables en memoire, pas Stop)

  7. #7
    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
    Stop interrompt provisoirement l'exécution de la macro en court mais n'en sort pas. F5 relance la macro sur la ligne suivante.

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

Discussions similaires

  1. Exécution de processus (format elf, a.out)
    Par b4u dans le forum Administration système
    Réponses: 2
    Dernier message: 19/03/2006, 17h59
  2. executer un processus a partir d'un programme source
    Par sofiane44 dans le forum Threads & Processus
    Réponses: 2
    Dernier message: 08/01/2006, 14h20
  3. Le temps d'execution d'1 processus en avant &en arrière
    Par elmessoussi dans le forum Administration système
    Réponses: 1
    Dernier message: 08/12/2005, 11h32
  4. Réponses: 2
    Dernier message: 03/01/2005, 16h02
  5. Contrôle d'exécution de processus
    Par TB38570 dans le forum Linux
    Réponses: 3
    Dernier message: 07/12/2004, 09h39

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