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 :

Si condition, stopper le code


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Janvier 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte matériel
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2013
    Messages : 113
    Par défaut Si condition, stopper le code
    Bonjour,

    Nouvelle question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If condition then
        terminer le code
    End If
    or si j'écris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If condition then
        End
    End If
    Tout ce ferme, ce que je ne souhaite pas.

    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If condition then
        Exit sub
    End If
    Je sort bien de la sub mais le calcul continu car en gros se sont des subs qui apellent des sub qui en appellent dautres ... ^^

    J'aimerais que cela stopper et revenir à la userform depuis laquelle on avait lancé le calcul ou aller directement au "End Sub" de ma sub principale.
    Mais si j'écrit End Sub Nom avec ou sans (), ça ne fonctionne pas.

    Merci d'avance

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Par défaut
    Ou lala pas très clair !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    If condition=vrai then
    exit sub 
    end if
    ' ou alors 
     
    if condition = vrai then 
    exit sub
    else
    'un code suivant
    end if
    Bon je pense qu'il faut que tu nous en donne plus de ton code!!

  3. #3
    Membre confirmé
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Janvier 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte matériel
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2013
    Messages : 113
    Par défaut
    Merci de ta réponse,
    Mais dans ton cas, je quitte juste la sub en cour, donc mon code continue de tourner.

    Mais je ne veux pas tout quitter non

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If condition=vrai then
         MsgBox ("erreur")
         'Sortir de toutes les sub*
    End If
    *Je voudrais que cela agisse comme si le calcul s'était terminé dans les bonnes conditions (après la MsgBox d'erreur)

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Par défaut
    Je persiste qu'il faut que tu nous donne + d'information

    regarde:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    sub button2 click
     
    if contition=vrai then
    exit sub
     
    end if
     
    end sub
    mon code ne tourne plus!

  5. #5
    Membre confirmé
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Janvier 2013
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte matériel
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2013
    Messages : 113
    Par défaut
    Ca compliquerai, si je donnais plus de code ^^

    Ca donne un truc du genre pour simplifier

    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
    Sub 1 (...)
        dim m as integer, n as integer
              For m=1 to n
                    Call Sub 2
              Next
    End Sub
     
    Sub 2 (...)
          dim i as integer, k as integer
          For i = 1 to k
               .
               .
               .
          if contition=vrai then
               exit sub
          end if
          Next
    End sub
    End if
    Effectivement ton code fonctionne, mais je sort juste de la sub 2 ensuite je reviens dans 1 qui réapelle la 2 ... etc
    Et je ne peux pas non plus mettre juste le code de la 2 dans la 1 car là, j'ai pas mal simplifié et écrit que ce qui je pense servait à illustrer le problème.

    Donc ce que je voudrais c'est quitter Sub 1 et Sub 2 (il y en a plus d'imbriquées en fait dans le code) mais sans utiliser End qui quitte tout

    J'espère que ce sera plus utile pour une aide, en tout cas merci

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    473
    Détails du profil
    Informations personnelles :
    Localisation : France, Vendée (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 473
    Par défaut
    ds le doute :

    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
    21
    22
    23
    24
    25
    26
    27
    Option Explicit
    Dim Ok As Boolean
     
    Sub 1 (...)
        Dim m As Integer, n As Integer
     
        Ok = True
                  For m = 1 To n
                If Ok = True Then
                    Call Sub 2
                Else
                    Exit Sub
              Next m
    End Sub
     
    Sub 2 (...)
          Dim i As Integer, k As Integer
          For i = 1 To k
               .
               .
               .
          If contition = vrai Then
               Ok = False
               Exit Sub
          End If
          Next i
    End Sub

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

Discussions similaires

  1. [XL-2007] Toutes les conditions de mon code ne fonctionnent
    Par capi81 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 12/09/2014, 10h06
  2. [XL-2007] Intégrer 1 condition dans un code sendkey
    Par capi81 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/03/2013, 13h53
  3. [XL-2007] Comment integrer une condition dans mon code sendkey
    Par capi81 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/07/2012, 16h36
  4. comment ajouter une condition if dans code VBA
    Par misig dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 13/12/2007, 00h03
  5. verification d'une condition dans le code
    Par @rkane dans le forum VBA Access
    Réponses: 6
    Dernier message: 22/09/2007, 21h47

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