Impossible de sortir de la boucle DO sans CTRL+PAUSE

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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+
 
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.
 
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 😛...
DoEvents sert à laisser la main aux autres processus, donc te permet de rappuyer sur le bouton et de quitter la boucle 🙄...
Bonne suite 😎
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
12
Affichages
989
Réponses
2
Affichages
1 K
Réponses
8
Affichages
1 K
Réponses
57
Affichages
5 K
Retour