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

VB 6 et antérieur Discussion :

VB6 Arret boucle FOR NEXT par appui sur un bouton


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 41
    Par défaut VB6 Arret boucle FOR NEXT par appui sur un bouton
    Bonjour,

    J'effectue une boucle FOR NEXT permettant l'acquisition de données, par contre, le sampling des mesures s'effectue à intervales réguliers.

    Je saisis le nombre d'enregistrements voulus, puis appui sur démarrer et les mesures s'effectuent.

    Cependant, durant l'execution, le programme ne répond pas, et plus ennuyant, il est impossible d'arrêter la boucle en appuyant sur le bouton Arret.

    Voici mon bout de programme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
      row = 2
      For boucleval = 0 To spl
      DoEvents
     
      If main.arret.value=true Then
      Exit Sub
      End If
      Sleep 1000
    .
    .
    .
    .
    Next
    Pourriez vous me dire, SVP ce qui ne va pas ?

    Je vous en remercie par avance,


    Cdt

  2. #2
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 71
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Ben, sortir d'une bouble for avant son terme se fait par un exit for, pas un exit sub

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 41
    Par défaut
    Merci pour votre réponse,

    j'ai essayé, en remplacant Exit Sub par Exit For, mais il doit y avoir qque chose d'autre qui ne va pas car la boucle ne s'arrête toujours pas.


    Merci

  4. #4
    Modérateur
    Avatar de Overcrash
    Homme Profil pro
    Architecte Logiciel et responsable CRM (Salesforce)
    Inscrit en
    Mai 2008
    Messages
    1 254
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Architecte Logiciel et responsable CRM (Salesforce)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 1 254
    Par défaut
    Bonjour,

    A la place de ton Exit For mets donc un msgbox et vérifie que le traitement passe bien par la msgbox comme ça tu sauras si la condition est validée.
    ---
    Overcrash

    Je ne lis pas les codes qui ne sont pas indentés.
    Merci de les messages utiles en cliquant en bas à droite du message

    Bloqué par le firewall pour accéder au chat ? Essayez avec l'adresse en direct : http://87.98.168.209/

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 41
    Par défaut
    J'ai remplacé par une msgbox, mais la condition ne semble pas remplie.

    Le problème doit provenir de main.arret.value=true

    Est ce que cette commande est valable ?

    (ce que je souhaite c'est arreter la boucle lorsque le bouton Arret est appuyé)

    Merci par avance,


    Cdt

  6. #6
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Peu-être une erreur sur un nom de variable , as tu mis la ligne

    en haut de ton code ?

  7. #7
    Modérateur
    Avatar de l_autodidacte
    Homme Profil pro
    Retraité : Directeur de lycée/Professeur de sciences physiques
    Inscrit en
    Juillet 2009
    Messages
    2 420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Retraité : Directeur de lycée/Professeur de sciences physiques
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 2 420
    Par défaut
    Si tu es sûr que le problème vient de "main.arret.value=true", il est possible de le contourner en ajoutant un TextBox nommé TextOK par exemple de propriété Visible = False et initialisé avec .text vide
    Dans l'évènement Click du bouton arret tu mets ce
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     Private Sub Arret_Click()
       TextOK.Text = 1
     ...................
     ...................
     ..................
     'suite de ton code
    End Sub
    Maintenant, dans ton bout de code envoyé tu fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     row = 2
      For boucleval = 0 To spl
      DoEvents
     
          If CInt(main.TextOK.Text)=1 Then Exit For
     
      Sleep 1000
    .
    .
    .
    Next
    C'est un peu détourné mais cela peut aboutir !
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

Discussions similaires

  1. boucle FOR NEXT et remplacer chiffres par lettres ou mots
    Par momoram dans le forum VBA Access
    Réponses: 6
    Dernier message: 23/12/2013, 11h02
  2. Boucle For Next infinie sur enregistrement des pieces jointes
    Par moumerico dans le forum Général VBA
    Réponses: 4
    Dernier message: 25/08/2010, 09h43
  3. faire une boucle for..next sur des textbox
    Par Actarusdu60 dans le forum VB.NET
    Réponses: 1
    Dernier message: 28/11/2008, 21h51
  4. Réponses: 3
    Dernier message: 04/04/2007, 16h22
  5. [VB6] Problème contrôle Timer et boucle For-Next ...
    Par Stéphane BEHMENBURG dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 01/12/2005, 17h36

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