Aide pour TextBox

Résolu
Signaler
Messages postés
15
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
21 juin 2007
-
Messages postés
15
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
21 juin 2007
-
Bonjour, je développe actuellement un programme qui à l'aide d'un bouton "Mesure" mesure la valeur d'un capteur et avec un autre bouton ( Envoie), j'envoie cette valeur sur le port.


En fait, mon problème, c'est que j'aimerais prendre 10 mesures et afficher chaque mesure dans un textbox a tour de rôle; je m'explique :


_ Appui sur "Mesure" -> Affichage de la valeur dans le Txtbox1 -> Appui sur "Envoie" ->envoie de cette mesure via port com -> Txtbox1 devient d'une autre couleur


_  Appui sur "Mesure" -> Affichage de la valeur dans le Txtbox2 -> Appui sur "Envoie"->envoie de cette mesure via port com -> Txtbox2 devient d'une autre couleur

Et ceci pour les 10 mesures

Merci d'avance pour vos réponses

26 réponses

Messages postés
15
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
21 juin 2007

Je vais chercher un peu de mon coté mais en tout cas merci pour ton aide et puis je te tiendrai au courant de la suite des évènements.

Merci à tous
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Utilise un groupe de controle (textbox) ie: des textbox avec le meme nom mais avec la propriété index qui change.

Cela te permettra d'avoir une variable d'indice courant pour remplir tes textbox et les changer de couleur

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
15
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
21 juin 2007

D'accord, je viens de faire ce que tu m'a dit, mais ensuite, quel est la procédure a établir ? As tu un exemple?

Merci d'avance pour ta réponses
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,
Dans un projet neuf, regarde ce que fait ce code.

Option Explicit
'Une feuille avec Dix Textbox
'appelé TxtBox (index de 0 à 9)
'un bouton appelé Mesure
'un bouton appelé Envoie

'represente l'indice courant pour
'la gestion du remplisasge
Private IndiceCourant As Integer
'Flag pour etre sur d'avoir appuyer sur mesure
Private CanSend As Boolean
Private Sub Envoi_Click()
   'si pas autorise a envoyer on sort
   If Not CanSend Then Exit Sub
   TxtBox(IndiceCourant).BackColor = vbBlue
   Call EnvoieValeurCOMM(TxtBox(IndiceCourant).Text)
   IndiceCourant = IndiceCourant + 1
   CanSend = False
End Sub<hr />
Private Sub Form_Load()
   Randomize
   IndiceCourant = 0
   CanSend = False
End Sub<hr />
'simule l'envoie de valeur inutile pour toi
Private Sub EnvoieValeurCOMM(ByVal Val As String)
   MsgBox "envoi " & Val & " par port comm"
End Sub<hr />
'Simule les valeur (inutile pour toi)
Private Function GetValeur() As Integer
   GetValeur = Int((Rnd * 15000) + 1)
End Function<hr />
Private Sub Mesure_Click()
   'pour ne pas lire plusieur fois la valeur
   If CanSend Then Exit Sub
   TxtBox(IndiceCourant).Text = GetValeur
   CanSend = True
End Sub<hr />, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
15
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
21 juin 2007

Désolé mais ton code ne fonctionne pas, en fait je suis  débutant, je comprends pas très bien .
Moi en fait pour afficher ce qu'il y a dans le txtbox j'utilise :


MSComm.Output = Text1.Text


Text1.BackColor = vbGreen
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Qu'est ce qui ne fonctionne pas , y a t il des erreurs?
Je l'ai testé chez moi et ca fonctionne (du moins pour ce que je comprends de ton problème)

Qu est ce que tu ne comprends pas?
avec les correction ou il faut le code serait

Private Sub Envoi_Click()
   'si pas autorise a envoyer on sort
   If Not CanSend Then Exit Sub
   TxtBox(IndiceCourant).BackColor = vbGreen
    MSCOMM.output =    TxtBox(IndiceCourant).Text
   IndiceCourant = IndiceCourant + 1
   CanSend = False
End Sub

Pas très compliquer.
si tu ne comprends pas il faut expliquer mieux ton problème je ne suis pas devin .

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
27
Bonjour Julien,

pose-lui (à tout hasard) les 2 questions suivantes :
1) développes-tu bien sous VB6 et pas sous VBA ? (on ne sait jamais...)
2) as-tu bien créé un groupe de contrôles indexés ?

Réflexe devenu, hélàs, de prudence...
Messages postés
15
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
21 juin 2007

Julien j'ai réussi à simuler le fonctionnement de ton premier programme mais en fait tu vois je teste avec hyper terminal et j'aimerai par exemple: j'écrit 1000 sur hyperterminale, je fais mesure j'ai 1000 qui s'affiche dans le textbox1 ensuite je l'envoie, la case devient verte. Ensuite j'écrit 2000 dans hyperterminale, je fais mesure j'ai 2000 qui s'affiche dabs le textbox2 ensuite je fais envoie , la case devient verte.
Voila j'espère que vous m'avez compris et désoler si je ne suis pas très claire en tout cas merci pour votre aide
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Désolé mais je pense qu'avec ce que je t'ai proposé tu devrais t'en sortir.
Car là franchement jene vois pas ou est ton problème.
Tu arrive bien à récupérer les données envoyéess depuis l'hyperterminal non?

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
15
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
21 juin 2007

He bien avec ton code non justement
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,
Quel code utilises tu NORMALEMENT pour récupérer et ecrire...

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
15
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
21 juin 2007

Pour récupérer j'utilise :
MSComm.Input = Text1.Text

Pour envoyer j'utilise :

MSComm.Output = Text1.Text

Je t'envoi mon code par MP
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,
Est ce que au moins tu travailles avec un groupe de contrôle comme je te proposais????

essaie
Option Explicit

Option Explicit
'Une feuille avec Dix Textbox
'appelé TxtBox (index de 0 à 9)
'un bouton appelé Mesure
'un bouton appelé Envoie

'represente l'indice courant pour
'la gestion du remplisasge
Private IndiceCourant As Integer
'Flag pour etre sur d'avoir appuyer sur mesure
Private CanSend As Boolean
Private Sub Envoi_Click()
  'si pas autorise a envoyer on sort
  If Not CanSend Then Exit Sub
  TxtBox(IndiceCourant).BackColor = vbGreen
  MSComm.Input = TxtBox(IndiceCourant).Text
  IndiceCourant = IndiceCourant + 1
  CanSend = False
End Sub<hr />Private Sub Form_Load()
  Randomize
  IndiceCourant = 0
  CanSend = False
End Sub<hr />
Private Sub Mesure_Click()
  'pour ne pas lire plusieur fois la valeur
  If CanSend Then Exit Sub
  TxtBox(IndiceCourant).Text = MSComm.Output
  CanSend = True
End Sub<hr />

, ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
15
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
21 juin 2007

J'essai, je te tient au courants et encore merci
Messages postés
15
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
21 juin 2007

Il y a rien à faire sa marche pas en fait quand je fais cette fonction sur un projet vierge sa marche mais quand je l'incorpore dans mon programme cela ne fonctionne pas
Tu as reçu mon code ???
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Je préfèrerais que tu me l'envoie par mail. epsylon9@gmail.com

Peu etre que quand tu l'incorpore dans ton projet, tu n'as pas de groupe de controle appelé TxtBox.

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
15
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
21 juin 2007

Ba si pourtant........

Je t'ai envoyer le code
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Quand je dit par mail, cela permet d'envoye par ZIP tout le projet ce qui m'evite de le refaire de mon coté et qui en plus permet d'avoir strictement le meme.

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
15
Date d'inscription
mercredi 20 juin 2007
Statut
Membre
Dernière intervention
21 juin 2007

Laisse tomber alors je suis au boulot et je n'ai pas le temps de faire toutes ces manips

Merci quand meme
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,
Bah moi aussi j suis au boulot mais je prends tout de meme le temps de t'aider....

@+: Ju£i?n
Pensez: Réponse acceptée