Bonjour,
Alors lors de mon projet je doit envoyer une requête a un pont bascule branché a mon pc sur le port Comm2 afin qu'il me retourne un poids . j'ai trouver un code sur un ancien post lien ici : https://www.developpez.net/forums/d5...uete-port-usb/

Mais mon prgrame me retourne l'erreur suivante : Visualisation: Erreur Runtime => screen/1 page aceuil.scc : ID Objet = 5 : Objet requis: 'MSComm2' (-2146827864).
Voila mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
'------ Requette pont bascule 
 
' Réservation des variables locales
    Dim varOctet ,MSComm2
    Dim lngPtOctet
    ' Traite chaque événement ou erreur
    Select Case MSComm2.CommEvent
 
        ' Événements
        Case comEvCD            ' Modification dans la ligne détection de porteuse
        Case comEvCTS           ' Modification dans la ligne prêt à émettre
        Case comEvDSR           ' Modification dans la ligne Modem prêt
        Case comEvRing          ' Modification dans l'indicateur d'appel
 
        Case comEvReceive        ' Nombre de caractères indiqué par la propriété RThreshold reçus
 
                While (MSComm2.InBufferCount <> 0)
                    varOctet = MSComm2.Input
                    For lngPtOctet = 0 To LenB(varOctet) - 1
                        If (lngLongRXD < UBound(bytTrameRXD)) Then
                            bytTrameRXD(lngLongRXD) = CByte(varOctet(lngPtOctet))
                            lngLongRXD = lngLongRXD + 1
                        Else
                            strBilanComm = strLsrErrRXDBuf
                            lngCptErrRXDBuf = lngCptErrRXDBuf + 1
                        End If
                    Next
                Wend
 
 
        Case comEvSend          ' Nombre de caractères indiqué par la propriété SThreshold dans le tampon de transmission.
        Case comEvEOF           ' Caractère de fin de fichier trouvé dans le flux en entrée
 
        ' Erreurs
        Case comEventBreak      ' Un signal d'arrêt a été reçu.
        Case comEventCDTO       ' Erreur de délai d'attente détection de porteuse.
        Case comEventCTSTO      ' Erreur de délai d'attente prêt à émettre.
        Case comEventDSRTO      ' Erreur de délai d'attente Modem prêt.
        Case comEventFrame      ' Erreur de trame
        Case comEventOverrun    ' Données perdues.
        Case comEventRxOver     ' Dépassement de la capacité du tampon de réception.
        Case comEventRxParity   ' Erreur de parité.
        Case comEventTxFull     ' Tampon de transmission plein.
        Case comEventDCB        ' Erreur inattendue lors de l'extraction du bloc de contrôle de périphérique]
 
        Case Else
            ' Événement ou erreur non géré(e) !!!
End Select
    If MSComm2.PortOpen = True Then MSComm2.PortOpen = False
    MSComm2.CommPort = 1
    MSComm2.Settings = "19200,E,8,1"
    MSComm2.PortOpen = True
    MSComm2.InputLen = 1
    ' Raz du buffer d'entrée de la liaison série
    varOctet = MSComm2.Input
    'envoi de la Requête distributeur n°1
    A = "01 09 30 31 10 39 39 4D 35 34 0D 0A"
    For i = 1 To Len(A) - 1 Step 3
        MSComm2.Output = Chr(Val("&H" + Mid(A, i, 2)))
    Next
    DoEvents
    'If MSComm2.PortOpen = True Then MSComm2.PortOpen = False
    Unload Me
    'Si Requête = distributeur 1
        If A = "01 09 30 31 10 39 39 4D 35 34 0D 0A" Then
    'envoi de la Requête par défaut
    A = "01 10 00 10 00 01 02 00 00 A4 C0"
    For i = 1 To Len(A) - 1 Step 3
        MSComm2.Output = Chr(Val("&H" + Mid(A, i, 2)))
    Next
    DoEvents
    'If MSComm2.PortOpen = True Then MSComm2.PortOpen = False
    Unload Me
    End If
Auriez vous une solution a me conseiller ?
Merci d’avance