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 :

Appliquer un next sous conditions dans une boucle for


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 11
    Points : 8
    Points
    8
    Par défaut Appliquer un next sous conditions dans une boucle for
    Voila mon souçi :

    J'ai une boucle For. A l'interieur de cette boucle, je veux que si une certaine condition soit remplie, on next à l'itération suivante. Ceci donnerai donc quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For i = 1 to 10
        If condition then
            Next i
        Else
             ....
        ENd if
    Next i
    Le problème c'est que visiblement on ne peut pas mettre un next sur la condition if n'a pas été fermée par un end if.... donc comment faire ?

  2. #2
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour.

    Décidément, c'est le jour des questions sur les structures conditionnelles.
    Pourqui pas tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For i = 1 to 10
        If Not condition then
            ....
        End if
    Next i
    PGZ

  3. #3
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Bonjour,
    ce que tu veux faire est étrange.
    Pour ce genre de chose il y a Do Until ou Do While.

    Peux-tu expliquer pourquoi tu souhaites cela car le principe de la boucle for est de systèmatique incrémenter par elle-meme l'index par défaut de 1 si pas de step différent mentionné.

    Alors explique !!!!

    Edit----
    PGZ je crois que tu as bien décrypté le besoin....

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Merci beaucoup pgz, ça fonctionne parfaitement. En vérité ce qui me manquait c'était juste comment définir l'inverse d'une conditions, à savoir "not..."...

    Godzestla : le do until ne me conviendrai pas car si la condition est remplie, je passe quand même à la prochaine itération, la boucle ne s'arrete pas.

  5. #5
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Kibald,
    je n'avais pas bien compris ta question en fait.
    Ce que tu demandais c'était comment passer au next directement, sans exécuter le code intermédaire.
    PGZ avait compris. Tant mieux.

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Voilà c'était ça

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 103
    Points : 91
    Points
    91
    Par défaut
    J'arrive certainement après la bataille ....

    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    FOR F=1 to 10
     
             IF CONDITION=TRUE THEN
                   MSGBOX "LA CONDITION EST TRUE, JE CONTINUE LA BOUCLE"
             ELSE
                   MSGBOX "LA CONDITION EST FALSE, JE SORS DE LA BOUCLE"
                   EXIT FOR
             END IF
     
    NEXT F
    Pas testé ...

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 11
    Points : 8
    Points
    8
    Par défaut
    Effectivement cela devrait fonctionner, avec le "exit for" pour sortir de la boucle, je ne me rappelais plus de ça. Merci !

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

Discussions similaires

  1. [XL-2010] Copier valeur d'une colonne sous condition dans une boucle
    Par gauthier69 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 04/04/2014, 11h26
  2. Utilisation de condition dans une boucle for-each
    Par siro1 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 09/03/2012, 17h07
  3. Plusieurs conditions dans une boucle for
    Par kimikou dans le forum C
    Réponses: 2
    Dernier message: 16/11/2011, 00h03
  4. [PHP 5.3] Tester des conditions dans une boucle for
    Par coulane dans le forum Langage
    Réponses: 4
    Dernier message: 16/06/2010, 11h50
  5. Condition dans une boucle for
    Par nicolasferraris dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/04/2009, 17h28

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