VBA excel userform et textbox

Module_29 Messages postés 31 Statut Membre -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

j'aimerai savoir comment afficher le contenu d'une cellule dans une textbox elle même dans une userform ?

je sais que c'est simple, mais je n'y arrive pas. je sais pas pourquoi ...

Voici la partie pour le USERFORM & textbox


Private Sub TextBox1_Change()

End Sub

Private Sub UserForm_Initialize()


UserForm1.TextBox1.Value = Sheets("Feuil1").Range("rep").Value


End Sub




Et voici la partie pour le code principal. je reçois mes trames dans le contenu de cellule rep. mais impossible de les envoyer dans une USerform textbox.



Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMillisenconds As Long)
                                                                                                                                                         
Private Sub CommandButton1_Click()

If MSComm1.PortOpen = True Then MSComm1.PortOpen = False  ' si le bouton 1 = true alors on fait appel à la fonction test_liaison

Call test_liaison

'UserForm1.Show                                            ' affiche l'userform

End Sub
Sub test_liaison()

Dim trame_recue As String
Dim Port As Integer
Dim buffer As String
Dim configuaration As Integer

mouchard = 1


Port = Cells(4, 6).Value
configuration = Cells(6, 2).Value


MSComm1.CommPort = Port           'Comm1.CommPort = Sheets("Test&Réglage & PV").Range("port").Value      'permet de recuperer le numero du port com
MSComm1.Settings = configuration  'configuration liaison série
MSComm1.PortOpen = True           'ouverture du port pour debuter la communication
MSComm1.SThreshold = 1
MSComm1.InputLen = 0              ' lecture total du buffer
 

MSComm1.Output = ActiveSheet.Cells(6, 9).Value & vbCrLf       ' envoi la saisie dans la cellule D2

 
Do
  DoEvents                                                    'indispensable sinon ça marche pas ( boucle de reception )
   trame_recue = trame_recue & MSComm1.Input
i = i + 1
       If i = 100000 Then                                      'incrementation d'une variable temoin de la non reception d'un caractere
           MsgBox ("probléme de connection")
       
       End If


Loop Until InStr(trame_recue, vbCrLf)     ' condition pour boucler

Sheets("Feuil1").Range("rep").Value = trame_recue

fin:
MSComm1.PortOpen = False                                 'on ferme le port afin de terminer la communication
If mouchard = 1 Then                                     'si une trame a bien été envoyée
    MsgBox ("Opération terminée avec succès!")           'alors les caracteres sont bons et la communication est correcte
Else
    MsgBox ("Test échoué... nombre de trame envoyée par le pc :" & mouchard)    'sinon pb dans les caracteres
End If


End Sub 'fin




Cordialement,

<config>Windows XP / Firefox 12.0</config>
A voir également:

3 réponses

f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Bonjour,

TexteBox:

Nom de feuille a adapter:

Private Sub UserForm_Initialize()
Me.TextBox1.ControlSource =Range("rep").Address
End Sub

'ou propriete de TexteBox1

'ControlSource rep
0
Module_29 Messages postés 31 Statut Membre
 
merci j'ai réussie à trouver,

cependant j'ai une autre question.

Comment pourrais-je faire pour afficher mes réponses dans le texte box pour

qu'elles soient écrite correctement.

je m'explique. Par exemple j'envoie une commande VA ( qui demande au micro.c une tension ) je récupère donc dans ma text box une réponse

or elle est écrite comme t'elle pour Va(envoyé) j'ai rep : RVA001436¶ ( oui car il
n'y a aucun espace dans le message. la longueur de l'opérande est prédéfinie, il est donc nécessaire de faire précéder par des 0 les opérandes les plus courtes (ex: 0420 pour 420 V )

j'aimerai donc récupérer 1436 V dans ma textbox et pas RVA001436¶.

Comment faire ?

Cordialement
0
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 715
 
Re,

https://www.cjoint.com/?BEpuvU0v89u

Vous avez Trois facons de faire pour obtenir ce que vous voulez. A vous de choisir celle qui vous convient.

Bonne suite
0