Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Sortir d'une boucle [ Langages dérivés / VBA ] (ticrain)

jeudi 24 avril 2008 à 17:05:13 | Sortir d'une boucle

ticrain

Bonjour les ptis loups

J'ai été viré ce matin c'est pas sympa les enfants, enfin j'ai quand même réussi à m'ensortir et réussir à avoir se que je voulais.
Voila en cliquant sur le bouton 3
je lance une boucle qui me fais clignoter des labels voir ci dessous :

Private Sub CommandButton3_Click()
Dim moncontrole As Object, NomDuControl As String
NomDuControl = "label" ' nom du type de controle sur le quel on veut boucler
For Each moncontrole In Frame1.Controls
   ' ici on regarde si le controle dans la variable MonControle est bien un label si oui on continu si non on passe au suivant
  If Left(LCase(moncontrole.Name), Len(NomDuControl)) = NomDuControl Then
      If moncontrole.Caption = TextBox1.Value Then ' ici on compare la valeur du label trouve avec la valeur de la textbox
          With moncontrole ' si la valeur est identique on met en forme le label
             
       
          End With
          Exit For
      End If
   End If
  
Next
'clignote
Dim a As String
a = Timer
Do
Do Until a + 0.1 <= Timer
DoEvents
Loop
If moncontrole.Visible = True Then moncontrole.Visible = False Else moncontrole.Visible = True
a = Timer
Loop

End Sub

Je voudrai à present sortir de cette boucle et arreter le clignotement du label avec l'appui sur le bouton5 que dois-je faire ???

Private Sub CommandButton5_Click()
TextBox1.Value = ""

???

End sub

Merci


jeudi 24 avril 2008 à 20:07:36 | Re : Sortir d'une boucle

Kristof_Koder

Ajoute une variable de type booleen à ta form, nommée flagBoucle par exemple.
Juste avant ton Do, tu la mets à False.
Dans le code de Command5, tu la mets à True.
Tu modifies un tout petit peu ton code pour sortir du Do Loop si flagBoucle est vrai :
  Loop While Not flagBoucle

jeudi 24 avril 2008 à 23:14:51 | Re : Sortir d'une boucle

jmfmarques

Membre Club

Bonsoir,

Et tu penses à ne pas faire tourner cette boucle trop longtemps (j'entends d'ici le ventilateur de refroiddissement de ton processeur s'énerver après un peu moins de deux minutes) ...


vendredi 25 avril 2008 à 05:59:20 | Re : Sortir d'une boucle

Renfield

Administrateur CodeS-SourceS
joues avec un Timer, plutot (ou en VBA : Application.Ontime)

viré ce matin ?

vendredi 25 avril 2008 à 12:36:10 | Re : Sortir d'une boucle

ticrain



Bonjour les ptis loups

Comment puis je faire avec mon code pour utiliser application.ontime? je trouve que le prog fonctionne bien le problème c'est pour sortir!!!!

Kristof_koder voici ce que j'ai fai avec ce que tu m'a dit:

Private Sub CommandButton3_Click()
Dim moncontrole As Object, NomDuControl As String
NomDuControl = "label" ' nom du type de controle sur le quel on veut boucler
For Each moncontrole In Frame1.Controls
   ' ici on regarde si le controle dans la variable MonControle est bien un label si oui on continu si non on passe au suivant
  If Left(LCase(moncontrole.Name), Len(NomDuControl)) = NomDuControl Then
      If moncontrole.Caption = TextBox1.Value Then ' ici on compare la valeur du label trouve avec la valeur de la textbox
          With moncontrole ' si la valeur est identique on met en forme le label
        
          End With
          Exit For
      End If
   End If
  
Next
'clignote
Dim a As String
a = Timer
flagboucle=false
Do
Do Until a + 0.1 <= Timer
DoEvents
Loop
If moncontrole.Visible = True Then moncontrole.Visible = False Else moncontrole.Visible = True
a = Timer
Loop
end sub


Private Sub CommandButton5_Click()
TextBox1.Value = ""
'clignote
Dim a As String
a = Timer
flagboucle=true
Do
Do Until a + 0.1 <= Timer
DoEvents
Loop
If moncontrole.Visible = True Then moncontrole.Visible = True Else moncontrole.Visible = True
a = Timer
Loop
While Not flagBoucle

end sub

Ca ne fonctionne pas merci pour votre aide

vendredi 25 avril 2008 à 14:14:08 | Re : Sortir d'une boucle

Renfield

Administrateur CodeS-SourceS
Dans ton UserForm :

Option Explicit

Private Sub CommandButton1_Click()
    mbTimerEnabled = True
    OnTime
End Sub

Private Sub CommandButton2_Click()
    mbTimerEnabled = False
End Sub

---------------

dna sun module :

Option Explicit

Public mbTimerEnabled As Boolean

Public Sub OnTime()
Dim oControl As Object
Const Second As Double = 0.0000115741
    For Each oControl In UserForm1.Controls
        If TypeOf oControl Is MSForms.Label Then
            If mbTimerEnabled Then
                oControl.Visible = Not oControl.Visible
            Else
                oControl.Visible = True
            End If
        End If
    Next oControl
    
    If mbTimerEnabled Then
        Application.OnTime Now + Second / 2, "OnTime"
    End If
End Sub



vendredi 25 avril 2008 à 17:32:19 | Re : Sortir d'une boucle

ticrain

Merci Renfield de m'aider

Alors j'ai testé ce que tu m'as donné , et en faite quand je clic sur bouton j'ai tous les labels de mon userform qui clignote et non pas celui que j'ai demandé dans la textbox. Il manque encore une comparaison entre la saisie dans la textbox et le label recherché. Il y'a un mix à faire entre se que tu m'as donné et se que moi j'ai fais. Merci Renfield. Je cherche en même temps...


vendredi 25 avril 2008 à 20:48:10 | Re : Sortir d'une boucle

ticrain



Bonjour les ptis loups

ya qqun

vendredi 25 avril 2008 à 23:31:56 | Re : Sortir d'une boucle

MPi

Oui

MPi²
Pour ceux qui programment sous Office, n'oubliez pas qu'il existe un forum dédié à ces applications VBA....... ICI


samedi 26 avril 2008 à 03:55:46 | Re : Sortir d'une boucle

Renfield

Administrateur CodeS-SourceS
aisé a ajouter, me semble, dans la Sub OnTime


1 2

Cette discussion est classé dans : boucle, label, end, moncontrole, if


Répondre à ce message

Sujets en rapport avec ce message

Passer toute une boucle? [ par Antitrust ] Salut!!!! Je voudrais savoir comment on peut avec une instruction (autre que if... end if ;) passer toute une boucle (Do... Loop Until). Par exemple, Boucle d'une temporisation [ par Cyclone ] Bonjour à tous;J'essaie de faire un petit programme me permettant par exemple de faire fonctionner 2 relais via une carte I/O. Ce programme doit gérer Urgent:Quelque petits problemes dans l`ouverture de fichier [ par THIERRYDEBUTANT ] Bonjour, jeune programmeur debutant , j ai quelque petits problemevoila, mon programme marche de telle maniere que lorsque je coche une checkbox le la Boucle cellule [ par lulucastagne ] Bonjour,S.O.Sj'essaille de réaliser une application sous excel en vba. Mon problème est le suivant : Le but est de générer une liste d'utilisateur qui Boucle itérative [ par eYeScReAm25 ] Bonjour, je fais un jeu et dans mon jeu j'ai une boucle  (Mes vaisseaux 1 à Maximum, descende vers le bas jusqu'à temps qu'il atteingne une ligne, alo probleme de boucle [ par grand_dragon_rouge54 ] Je comprends pas. J'ai écris le code suivant. j = 0While (Label(t).Caption 0) Or (j = 5)   t = TireChiffre()   j = j + 1 WendEn fait, il s'agit d Bloquer dans une petite application monetaire euro==>cent (Newbie) [ par neotof ] Bonjours je voudrais faire une petit application que quand on rentre un montant par exemple 178.75 euro qu on me dise que j ai 1 billet de 100 euro Boucle avec macro impression [ par kikou6969 ] bonjour, j aimerai creer une boucle sur visual basic.pour lancer l impression, je clic sur un bouton de cosmmande.l impression s effectue sur une feui boucle selective [ par gillesrun ] Bonjour , j'ai un petit soucis avec la boucle " For each " , voila mon code:Dim ctl as Control For Each ctl In Me.ControlsIf Ctl.GetType Is GetType( Un CommandButton pour Boucler [ par alonsolinoli ] Bonjour,Que faut-il ajouter à ce Code pour permettre au bouton "Suivant" d'effectuer une boucle  sur For. Merci d'avance.[code] Private Sub Button_Sui


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,608 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.