CoB_nantes
-
Modifié par Whismeril le 9/04/2015 à 17:36
Nimrod86
Messages postés1Date d'inscriptionjeudi 16 avril 2015StatutMembreDernière intervention16 avril 2015
-
16 avril 2015 à 17:09
Bonjour,
j'ai un projet, je dois récupérer les données mesurées par un appareil et les envoyer sur excel par liaison RS232, j'ai compris qu'il fallait créer un macro sous excel seulement je ne comprend absolument rien, j'ai trouvé 2/3 programmes mais lorsque je les exécute j'ai un message d'erreur qui s'affiche : "objet requis" si quelqu'un peu m'aider soit à écrire un programme ou a débuguer ceux que j'ai trouvé sur internet.
Exemple de programme :
Private Sub CommandButton1_Click()
'Permet Theoriquement de stoper la boucle en fermant le port ...
Select Case CommandButton1.Caption
Case "Start"
NETComm1.PortOpen = True
CommandButton1.Caption = "Stop"
Case "Stop"
NETComm1.PortOpen = False
CommandButton1.Caption = "Start"
End Select
End Sub
Private Sub NETComm1_OnComm()
'Lecture en boucle du port tant que celui-ci est ouvert
Dim Buffer As String
Dim PauseTime, Start
Do While NETComm1.PortOpen = True
Select Case NETComm1.CommEvent
Case "5"
Buffer = (NETComm1.InputData)
Case Else
Buffer = "NO DATA"
End Select
TextBox1.Text = Buffer
PauseTime = 2
Start = Timer
Do While Timer < Start + PauseTime
Loop
Loop
End Sub
Private Sub UserForm_Initialize()
'Parametrage du port
NETComm1.CommPort = "1"
NETComm1.Settings = "9600,n,8,1"
End Sub
Hé bien !
Dans ce cas, tu "pilotes" donc Excel depuis VB6.
Et tu récupères donc les données sur VB6.
Il te suffit alors d'affecter ces données aux cellules de ton choix sur la feuille Excel de ton choix !
Il n'y a aucune différence, dans ce genre d'affectation, entre des valeurs de variables simples et des valeurs "récupérées" par MSCOMM !
Une chose est claire :
- ou tu sais déjà faire un pilotage de cette espèce (création des objets Excel nécessaires) et je ne vois alors pas où se situe ton problème
- ou tu ne sais pas travailler en automation (pilotage) et il va falloir commencer par là (valeurs récupérées de MSCOMM ou autres !). Et ta question devrait alors porter sur comment travailler en automation, de manière générale.
Si, maintenant, cette idée de travailler en automation ne te vient que parce que tu ne parviens pas à insérer le contrôle MSCOMM dans Excel, l'idée n'est pas la meilleure, puisqu'il te faudrait d'abord apprendre ce qu'est l'automation (relis ce que j'ai dit plus haut : on peut faire en sorte de faire accepter ce contrôle par Excel). Dis-le et je te montre comment.
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
Et voilà ! On a donc longtemps tourné autour du pot pour rien.
Tu développes finalement sous VBA/Excel et on aurait gagné énormément de temps si tu avais ouvert la présente discussion dans le sous-forum adéquat : VBA
Je déplace donc cette discussion là où elle aurait du être ouverte !
Pour ton affaire de contrôle non accepté sur ton userform ===>> Il s'agit là d'une inhibition volontaire de Microsoft. J'ai donné la solution ici :
http://codes-sources.commentcamarche.net/forum/affich-1583140-erreur-le-sujet-n-est-pas-approuve-pour-l-action-specifiee. Intéresse-toi particulièrement à mes messages du 6 avril 2012 à 10:23 et du 6 avril 2012 à 10:36.
Comme tu le constateras, il s'agit de modifier une clé de la base de registre. Il est dès lors bien évident :
- que cette opération nécessite que la Base de registre ne soit pas protégée au moment de cette intervention
- que la même opération devra être effectuée sur la/les machine(s) qui utiliserai(en)t ton classeur.
Voilà
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.
Nimrod86
Messages postés1Date d'inscriptionjeudi 16 avril 2015StatutMembreDernière intervention16 avril 2015 16 avril 2015 à 17:09
CoB_nantes
Arrête de copier de code source sans rien y comprendre ...tu as donner le premier on se tue pour te donner les solution sans rien nous dire si xa marche ou pas
Tu nous raméne un autre code source de je na sais ou?
STP AIDE NOUS A T'AIDER ...Mexi