Impossible de sortir de la boucle DO sans CTRL+PAUSE

Dohko10270

XLDnaute Nouveau
Bonjour,

J'aurai grandement besoin d'aide étant novice en VBA, je n'arrive pas à quitter un petit programme que j'ai fait sans faire CTRL+PAUSE, si jamais quelqu'un vois une solution j'en serai très heureux !

Merci.

Ci dessous le code VBA :

Private Sub ToggleButton1_Click()
With ToggleButton1
Dim Auto As String
Dim i As Integer

'Si appuie sur Bp alors lancement de l'acquisition
If .Value = True Then
Auto = True

'Faire tant que auto = true
Do

' indique au contrôle qu'il doit lire 1 seul caractère
'ce caractère sert à repérer la stabilisation de la balance
NETComm1.InputLen = 1 'Ici

' Si lettre T alors reception des données
If NETComm1.InputData = "T" Then
.Caption = "Acquisition en cours"

'lecture sur le port des 8 1ers caractères et stockage dans la boite de dialogue et dans la feuille active
NETComm1.InputLen = 8
t = Timer + 2
Do Until Timer > t
Loop

'Recopie données recues dans cellule
Cells(18, 6) = NETComm1.InputData

'Affichage de l'heure de réception dans autre cellule
Cells(6, 6) = Format(Now, "dd/mm/yyyy-hh:nn:ss")

'Incrémentation pour N° bigbag
i = i + 1

'Recopie N° de bigbag + mois
Cells(14, 6) = i & " / " & Format(Now, "mm") & ".M"

'Vidange Buffer
NETComm1.InBufferCount = 0

End If

'Arrêt si appui sur BP Fin
If Bouton_Fin = True Then Exit Do

'Arrêt acquisition si appui de nouveau sur ToggleButton
Loop Until Auto = False

'ferme le port
NETComm1.PortOpen = False


Else
.Value = False
.Caption = "Attente Acquisition "
Bouton_Fin = True

End If

End With

End Sub
 

néné06

XLDnaute Accro
Re : Impossible de sortir de la boucle DO sans CTRL+PAUSE

bonsoir Dohko

Dans ton sub, je ne vois aucune instruction qui placerait ta variable "Auto" en False ?
Donc ta boucle ne sortira jamais.


Private Sub ToggleButton1_Click()
Auto = True
Do
Loop Until Auto = False
End Sub


A+
 

Dohko10270

XLDnaute Nouveau
Re : Impossible de sortir de la boucle DO sans CTRL+PAUSE

Je peux en effet te faire parvenir le programme mais celui ci sert pour une communication en RS232 et il faut donc avoir installé NETComm.OCX, c'est pour cela que je ne mets que le code et non un fichier mais si tu désires le fichier et que tu possède NETCOmm je peux en effet te le fournir.
 

JNP

XLDnaute Barbatruc
Re : Impossible de sortir de la boucle DO sans CTRL+PAUSE

Bonjour le fil :),
Teste
Code:
Private Sub ToggleButton1_Click()
Dim I As Double
Do
DoEvents
I = I + 1
Loop Until Me.ToggleButton1.Value = True
MsgBox I
End Sub
L'affichage du msgbox prouve bien que la macro s'arrête :p...
DoEvents sert à laisser la main aux autres processus, donc te permet de rappuyer sur le bouton et de quitter la boucle :rolleyes:...
Bonne suite :cool:
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
311 725
Messages
2 081 941
Membres
101 848
dernier inscrit
Djigbenou