Problème ouverture de port com

Bonjour à tous!

J'ai de gros soucis avec l'ouverture d'un port com via mscomm1.

Mon port est ouvert, j'envoie une commande qui aboutie, une autre, et une troisième non avec erreur 8018. Je ne ferme absolument pas le port entre temps. Je comprends pas du tout pourquoi cela fait ça...

Si vous pouviez me filer un petit coup de pouce car je sèche complètement...

Merci!!

Cordialement

Innuendo 67.

Bonjour Innuendo67,

Sujet très intéressant pour moi que je ne me suis jamais servi des ports avec Excel. (Je n'ai aucune idée de comment m'en servir)

Néanmoins après un bref passage sur un site Internet traitant du sujet, j'en viens à te proposer d'essayer les choses suivantes:

1)

If MSComm1.PortOpen = True Then 
   'la commande que tu veux essayer
Else
   'commande pour rouvrir le port
   'la commande que tu veux essayer
End If

2)

capture

Si le port se ferme subitement, la seconde technique te permettra de savoir quand, et peut être trouver ce qui cloche.

Dans l'attente d'un retour

Bonjour,

merci pour la réponse, cependant rien n'y fait.

J'ai tenté de contourner ce problème avec un GoTo.

Voici le code:

Private Sub LANCER_Click()

If MSComm1.PortOpen = False Then
MSComm1.PortOpen = True

End If

On Error GoTo fin

MSComm1.OutBufferCount = 0

If LISTE1.Text = "" Then
MsgBox "Veuillez choisir une musique à jouer."
Exit Sub
End If

If ENCOURS1.Visible = False Then
ENCOURS1.Visible = True
ENCOURS1.AutoSize = True
ENCOURS1.Value = ""
Else
ENCOURS1.AutoSize = True
ENCOURS1.Value = ""
End If

If LISTE1.Text = "BLABLA1.wav" Then
MsgBox "Lançons la musique:" & LISTE1.Text

LANCERMUSIQUE1.BackColor = &HFF&
LANCERMUSIQUE1.Caption = "MUSIQUE EN COURS"

prefixe1 = Chr$(&HFE) + Chr$(&HFE)
suffixe = Chr$(&HFD)

MSComm1.OutBufferCount = 0
MSComm1.Output = prefixe1 + XXXXXXXXXX + suffixe

X1.BackColor = &H8000000F
X2.BackColor = &HFF00&

MSComm1.OutBufferCount = 0
MSComm1.Output = prefixe1 + XXXXXXXX + suffixe

MODE1.Value = True

Application.Wait (Now + TimeValue("00:00:01"))
MSComm1.PortOpen = True
MSComm1.OutBufferCount = 0
MSComm1.Output = prefixe1 + Chr$(&H5) + Chr$(&H9) + suffixe
ENCOURS1.Value = "MUSIQUE en cours : BLABLA"

MSComm1.PortOpen = False

Application.Wait (Now + TimeValue("00:54:41"))
MSComm1.PortOpen = True
MSComm1.OutBufferCount = 0
MSComm1.Output = prefixe1 +  XXXXXXXX + suffixe
ENCOURS1.Value = "MUSIQUE en cours : BLABLA2"

MSComm1.PortOpen = False

Application.Wait (Now + TimeValue("00:42:52"))
MSComm1.PortOpen = True
MSComm1.OutBufferCount = 0
MSComm1.Output = prefixe1 + XXXXXXXXXXX + suffixe
X1.BackColor = &H8000000F
X2.BackColor = &HFF00&
MSComm1.PortOpen = False

Application.Wait (Now + TimeValue("00:07:52"))
MSComm1.PortOpen = True
MSComm1.OutBufferCount = 0
MSComm1.Output = prefixe1 + XXXXXXXXXXX + suffixe
X1.BackColor = &H8000000F
X2.BackColor = &HFF00&
MSComm1.PortOpen = False

Application.Wait (Now + TimeValue("00:00:35"))
MSComm1.PortOpen = True
MSComm1.OutBufferCount = 0
MSComm1.Output = prefixe1 + XXXXXXXXXXX + suffixe
ENCOURS1.Value = "MUSIQUE en cours : BLABLA3"

MSComm1.OutBufferCount = 0

'fermeture du port com
MSComm1.PortOpen = False

End If

fin:

If MSComm1.PortOpen = False Then MSComm1.PortOpen = True
Resume

End Sub

Cependant, lorsque ma macro arrive à la fermeture du port, excel tourne dans le vide... Je dois faire Echap pour stopper l'execution de la macro.

Comment faire pour que mon code se termine proprement?

Merci à tous!

Cordialement,

Innuendo67.

Tu as fait une grosse erreur dans ton code en pensant que le code présent dans "fin" ne serait exécuté qu'en cas d'erreur!

Voilà ton code,

Sub nomProcedure()
On error Goto monEtiquette
'ton code
monEtiquette:
'code de l'étiquette
End Sub

et voilà le code que tu devrais avoir.

Sub nomProcedure()
On error Goto monEtiquette
'ton code
Exit Sub
monEtiquette:
'code de l'étiquette
End Sub

Bonjour,

je te remercie de ta réponse.

En effet, je ne savais pas que le code lisait la ligne s'il n'y avait aucune erreur...

J'aurais encore appris quelque chose!

Cordialement,

Innuendo67

Rechercher des sujets similaires à "probleme ouverture port com"