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 :

Problème d'Exit Sub


Sujet :

Macros et VBA Excel

  1. #1
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut Problème d'Exit Sub
    Salut à toutes et à tous ! (encore )

    Voilà mon nouveau problème. J'ai donc une partie de mon code qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    While Not bool
        NbMod = InputBox("Combien de modules y a-t-il ?", "Nombre de modules")
        If StrPtr(NbMod) = 0 Then Exit Sub
        If (Not IsNumeric(NbMod) Or Val(NbMod) <= 0) Then
            MsgBox "Veuillez introduire un nombre strictement supérieur à 0.", vbCritical
        Else
            bool = True
        End If
    Wend
    La ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If StrPtr(NbMod) = 0 Then Exit Sub
    me permet donc, une fois le bouton "Annuler" cliqué, de sortir de mon programme tout simplement. Pour l'instant, cela marche très bien, une fois le bouton enfoncé, je quitte l'ensemble de mon programme qui n'a plus besoin d'être continué.

    Maintenant, je veux ajouter une commande supplémentaire à faire avant "d'Exit Sub", comme supprimer certaines lignes, par exemple.
    J'avais donc pensé à un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If StrPtr(NbMod) = 0 Then 
    'Liste de choses que je souhaite faire avant de tout quitter
    Exit Sub
    Et bien sûr, le "Wend" n'a plus son "While".

    Comment faire alors pour tout quitter et ne pas continuer la suite du programme lorsque j'appuie sur ce bouton tout en faisant quelques actions avant?

    En tout cas merci d'avance !

    Edit : j'ai remplacé mon Exist Sub par End, je trouvais ça mieux

  2. #2
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,
    A mon avis, tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    While Not bool
        NbMod = InputBox("Combien de modules y a-t-il ?", "Nombre de modules")
        If StrPtr(NbMod) = 0 Then
    'ce que tu veux faire
     end
        If (Not IsNumeric(NbMod) Or Val(NbMod) <= 0) Then
            MsgBox "Veuillez introduire un nombre strictement supérieur à 0.", vbCritical
        Else
            bool = True
        End If
    Wend
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 51
    Par défaut
    Bonsoir,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    While Not bool
        NbMod = InputBox("Combien de modules y a-t-il ?", "Nombre de modules")
        If StrPtr(NbMod) = 0 Then 
        'ce que tu as à faire....
        Exit Sub
        End if
        If (Not IsNumeric(NbMod) Or Val(NbMod) <= 0) Then
            MsgBox "Veuillez introduire un nombre strictement supérieur à 0.", vbCritical
        Else
            bool = True
        End If
    Wend
    Cordialement

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Merci à tous les 2 !

    Je teste ça dès que j'ai mon code sous la main et je vous tiens au courant !

    Bon Week-End à vous et à bientôt

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Bonjour,

    Merci spitnolan, le problème venait effectivement du fait qu'il fallait refermer la condition

    A bientôt

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

Discussions similaires

  1. Problème avec exit
    Par Ebisu dans le forum PL/SQL
    Réponses: 2
    Dernier message: 28/05/2009, 13h06
  2. [E-03] Problème Exit Sub
    Par allergique dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 30/10/2008, 21h51
  3. equivalent exit sub
    Par mapmip dans le forum ASP.NET
    Réponses: 1
    Dernier message: 08/03/2007, 16h51
  4. [VB] Problème de function / sub (tableau comme paramètre)
    Par elhosni dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 10/05/2006, 20h34
  5. [MySQL] Problème avec DATE SUB et INTERVAL
    Par psychoBob dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 25/01/2006, 00h36

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