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 :

For Next : aller a la fin de la boucle


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Djohn
    Profil pro
    Inscrit en
    Février 2007
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 309
    Par défaut For Next : aller a la fin de la boucle
    bonjour,

    Dans ma boucle for next, j'ai imbriqué une condition If.

    Est il possible si ma condition est "vrai" d'aller directement a la fin de la boucle Next, non pas pour y sortir mais pour passer a l'element suivant
    J'ai essayé avec Exit, mais Exit me sort complement de la boucle
    et avec On Error Resume Next, mais ca ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    For i = 1 To x
        If Range("b8") = "" Then
           On Error Resume Next 'ici que ca bloque
        End If
    'suite du scipt
    Next i
    merci a vous

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour,

    Essaye comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For i = 1 To x
        If Range("b8") = "" Then
           GoTo suite
        End If
    suite:
    Next i

  3. #3
    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
    ta question est vraiment bizarre.
    si la condition est vrai la ligne suivante est executée et si elle est fausse, c'est la ligne apres le end if qui sera executé, il te suffit donc de placer ce end if juste avant le next pour ne pas te prendre le choux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For i = 1 To x
        If Range("b8") = "" Then
        exécution du code
        End If
    Next i
    
    et a l'inverse, si tu veux executer le code avec la condition fausse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For i = 1 To x
        If not Range("b8") = "" Then
         execution du code
        End If
    Next i
    

  4. #4
    Membre éclairé Avatar de Djohn
    Profil pro
    Inscrit en
    Février 2007
    Messages
    309
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 309
    Par défaut
    Effectivement alsimbad, j'ai mal résonné sur ce coup


    fring ta solution fonctionne

    merci pour ces 2 solutions

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut Djohn, alsimbad et le forum

    moi, j'aurais plutôt raisonné comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For i = 1 To x
        If Range("B8") <> "" Then
         execution du code
        End If
    Next i
    A+

    Edit à voir le poste qui suit, j'ai encore du travail avant d'arrêter d'être un clown . Sauf que pour moi, les modifications dues au traitement peuvent faire évoluer B8. Mais j'aurais du signaler que cette formulation semblait bizarre.

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Excusez_moi...

    Pourquoi rentrer dans la boucle (même si c'ext pour n'y rien faire ... n fois !) ?

    Il faut mettre la condition de rentrée dans la boucle avant la boucle elle-même !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Range("b8") = "" Then
       For i = 1 To x
          exécution du code
       Next i
    End If
    C'est évident.

  7. #7
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2017
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2017
    Messages : 46
    Par défaut
    Merci bcp pour vos réponses!
    cela marche bien, maintenant je vais faire mes boucles quand j'ai plusieurs lignes à remplir.
    Mais merci bcp

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

Discussions similaires

  1. For Next : modifier valeur du compteur dans la boucle
    Par bucgif dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 16/10/2013, 16h29
  2. Réponses: 3
    Dernier message: 03/11/2005, 19h22
  3. Nom de Champ pour utiliser For/Next
    Par Mulele dans le forum Access
    Réponses: 2
    Dernier message: 21/10/2005, 19h57
  4. Nom de Champ dans une table pour utiliser For/Next
    Par Mulele dans le forum Access
    Réponses: 6
    Dernier message: 30/10/2004, 13h28
  5. qbasic : pause avec FOR-NEXT
    Par clood200 dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 08/08/2003, 16h51

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