Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionj'ai mit l'icone de NETCOM dans l'userform.
lorsque je les exécute j'ai un message d'erreur qui s'affiche : "objet requis"
Justement j'ai une erreur sur cette ligne apparemment : NETComm1.CommPort = "COM1" .
Private Sub CommandButton2_Click()
TextBox1.Text = ""
For Each Control In Me.Controls
TextBox1.SelText = Control.Name & " : " & TypeName(Control) & vbCrLf
Next
TextBox1.SelText = Me.Name
End Sub
Option Explicit Dim ProductRqst, LectureHeure Dim MyCom As New ClasseCom Dim ChaineduCom As String 'ce module illustre l'emploi de ComTi sans utilisation d'un UserForm 'l'objet ComTi est déclaré dans ClasseCom. Ensuite il est toujours 'référencé dans le programme par MyCom.TiCom Private Sub FermeCom() On Error Resume Next 'Le port Com est fermé et TiCom = Nothing Set MyCom.TiCom = FermeComEvent End Sub Private Function OuvreCom(ComPort As Integer, _ Optional ParamCom As String, _ Optional DelaiTimer As Long) As Boolean On Error GoTo erreur 'ferme le port com par sécurité s'il est ouvert With MyCom If Not .TiCom Is Nothing Then _ If .TiCom.ComOuvert = Ouvert Then .TiCom.ComOuvert = Ferme End With If ComPort <= 0 Then ComPort = 1 If ParamCom = "" Then ParamCom = "9600,n,8,1" 'cet appel est obligatoire pour l'initialisation 'cela permet plusieurs instances différentes Set MyCom.TiCom = InitialiseComEvent With MyCom.TiCom .ComNumCom = ComPort If DelaiTimer <> 0 Then .ComTimer = DelaiTimer .ComSettings = ParamCom .ComOuvert = Ouvert If .ComOuvert = Ferme Then 'l'erreur est signalée depuis clsComTi Else OuvreCom = True End If Exit Function erreur: FermeCom End With End Function Sub EvenementCOMTest(Chaine) 'c'est cette procédure qui est référencée depuis ClasseCom pour gérer 'la réception des données du port Com 'ici on se contente de copier la chaîne reçue dans la feuille Test Dim Cel As Range 'éviter les erreurs d'exécution On Error Resume Next ChaineduCom = Chaine With F2 Set Cel = .Range("A65536").End(xlUp).Offset(1, 0) End With Cel = CleanStr(CStr(ChaineduCom)) End Sub Sub TestComSansForm() 'Commandes pour un GPS Garmin 'évidemment ici les réponses sont reçues brutes et pas décodées ProductRqst = Array(16, 254, 0, 2, 16, 3) LectureHeure = Array(16, 10, 2, 5, 0, 239, 16, 3) On Error GoTo erreur 'mon modem est sur le Com 3 If OuvreCom(3) = True Then 'si on voulait les infos du GPS 'MyCom.TiCom.ComOutPut = Array2Str(ProductRqst) 'ici j'interroge le modem MyCom.TiCom.ComOutPut = "ATV1Q0" & Chr$(13) End If 'le port sera fermé après réception des données Delai 100 erreur: FermeCom End Sub Sub DetecteModem() Dim Boucle As Integer 'interroge les Com 1 à 4 pour trouver le modem 'ça ne marchera qu'avec un bon vieux modem RTC ! On Error GoTo erreur ChaineduCom = "" For Boucle = 1 To 4 If OuvreCom(Boucle) = True Then MyCom.TiCom.ComOutPut = "ATV1Q0" & Chr$(13) Delai 100 If ChaineduCom <> "" Then MsgBox "Le modem est sur le port :" & vbCr & vbCr & _ "COM" & Boucle & ":", , "ComTi" Exit For End If End If Next Boucle If ChaineduCom = "" Then MsgBox "Aucun modem n'a pu être détecté", , "ComTi" erreur: FermeCom End Sub
elle est en hexa et elle s'affiche dans une fenêtre, pouvez m'aider à le modifier afin d'obtenir une valeur décimale et qui s'afficherait dans un tableau excel.