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 :

break en vba


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
    Juin 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Par défaut break en vba
    bonjour,
    j'ai un bouton sur un classeur. Quand on appuie sur ce bouton, j'ai codé plusieurs boucles les unes à la suite des autres. Dans la première boucle, j'ai envisagé plusieurs cas (avec un select case )et j'aimerais que si l'un des cas s'avère vrai alors on arrête tout, j'affiche une msgbox explicitant le probleme mais j'aimerais qu'on ne lise pas la suite du code. Existe-t-il une instruction du style "break" en vba..?

    merci d'avance

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    il existe
    plusieur possibilités
    end
    exit sub
    goto
    dans ton cas, si tu veux faire une gestion d'erreur c'est goto

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    select case sortie
    case non
    msgbox "je reste"
    case oui
    goto gestion_erreur
    end select
    exit sub
    gestion_erreur :
    msgbox " je sort"
    end sub

  3. #3
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 11
    Par défaut
    c'est impeccable le exit sub fonctionne super..je faisais du "end sub" et il ne voulait pas...
    merci beaucoup

  4. #4
    Membre Expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Par défaut
    bonjour,

    Il existe en effet la solution du goto mais il est conseillé de n'utiliser que pour de la gestion d'erreurs.

    Normalement, quelqu'en soit les structures de contrôles utilisées et l'algorithme mis en place, on peut toujours codé ces sorties prématurées sans faire de goto.

    Il existe cependant quelques raccourcis simplifaint les algorithmes:
    Exit Do, Exit For, Exit Sub...


    alsimbad, le scénario que tu proposes est intéressant mais risque de rendre limité la véritable gestion d'erreurs... Dans un cas de ce genre, il est préférable de provoquer une erreur de façon à ce qu'elle soit traitée comme telle par le programme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     
    Sub test()
    On Error GoTo Err_Handle:
     
    '...
        If ... then
            Err.Raise vbObjectError, "Mon programme", "Donnée invalide...."
     
    ...
     
    End_Handle:
        Set oRst = Nothing 'on mets ici tout ce qui doit être exécuté dans tous les cas
        ...
        Exit Sub
     
    gestion_erreur:
        MsgBox Err.Description, vbExclamation 'solution simple ici, mais on peut renvoyer à un gestionnaire d'erreurs que l'on a développé...
        Resume End_Handle
    End Sub
    Bon dev

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

Discussions similaires

  1. Break mode Vba avec DLL en C++
    Par julio26 dans le forum C++
    Réponses: 1
    Dernier message: 19/07/2007, 12h52
  2. equivalent de break en vba access
    Par celiaaa dans le forum Access
    Réponses: 6
    Dernier message: 20/12/2006, 14h34
  3. [VBA-E] [Excel] Tri automatique
    Par bovi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/10/2002, 10h19
  4. [VBA-E] [Excel] Filtrer le donnees d'une sheet
    Par donia dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/09/2002, 10h55
  5. problème avec VBA
    Par Delph dans le forum Langage
    Réponses: 2
    Dernier message: 19/08/2002, 13h15

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