IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Interrogation prt com1


Sujet :

Macros et VBA Excel

  1. #1
    Membre émérite

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Points : 2 523
    Points
    2 523
    Billets dans le blog
    1
    Par défaut Interrogation prt com1
    Bonjour

    je rencontre un petit problème avec le port com1:
    je cherche à entrer dans un USF une serie de trois mesures effectué à l'aide d'un comparateur digital je doit effectué sur 8 pièces d'une moulée un relevé de cote
    ceci sur trois moulée

    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
    Private Sub CommandButton3_Click()
    'paramétrage du comparateur sylvac
    MSComm1.Settings = "4800,e,7,2"
    'ouverture du Port
    If MSComm1.PortOpen = False Then
    MSComm1.PortOpen = True
    End If
    Moul_Mes = Moul_Mes + 1
    'Controls("textbox" & Moul_Mes).SetFocus  ' ça c'est en attente 
    'interrogation du port
    MSComm1.Output = "?" + Chr$(13)
    'inscritption de la lecture dans le textbox(x)  3<=x<=10
    Controls("textbox" & Moul_Mes).Value = MSComm1.Input
    If Moul_Mes = 10 Then
    Moul_Mes = 2
    CommandButton2.Enabled = True 'activation du bouton de validation
    CommandButton2.SetFocus 'selection du bouton de validation
    End If
    End Sub
    probleme le programme commenc à ecrire dans le textbox4 (au lieu du trois)
    la lecture inscrit prend un à deux texbox de retard l'appui sur le bouton trois ne prends pas la valeur du comparateur
    Moul_Mes est declarée public dans un module
    si quel qu'un peut me dépanner
    Merci
    Daranc

  2. #2
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    bonjour,

    la premiere chose a faire, c'est de voir pourquoi Moul_Mes à la valeur 4

    vu que c'est elle qui renseigne le textbox.

  3. #3
    Membre émérite

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Points : 2 523
    Points
    2 523
    Billets dans le blog
    1
    Par défaut
    le problème est que lorsque que Moul_mes = 3 le controls("textbox" & 3) est bien sélectionné (lorsque que je met le controls("textbox" & 3).setfocus)
    donc la valeur est bonne et l'incrémentassions se fait correctement par appui sur le commandbutton3 mais l'écriture elle n'est pas prise en compte .c'est un peu comme si les données en lecture n'étaient pas rafraichies
    Daranc

  4. #4
    Membre émérite

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Points : 2 523
    Points
    2 523
    Billets dans le blog
    1
    Par défaut
    Bonjour
    je reprends
    actuellement le code de la "pédale" d'enregistrement (en fait un bouton dans l'USF)
    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
    Private Sub CommandButton3_Click()
    'demarrage du port com1
    'MSComm1.CommPort = 1
    'paramétrage du comparateur sylvac
    MSComm1.Settings = "4800,e,7,2"
    'ouverture du Port
    If MSComm1.PortOpen = False Then
    MSComm1.PortOpen = True
    End If
    Moul_Mes = Moul_Mes + 1
    'Controls("textbox" & Moul_Mes).SetFocus
    'MSComm1.DTREnable = True
    MSComm1.Output = "?" + Chr$(13)
    Controls("textbox" & Moul_Mes).Value = MSComm1.Input
    If Moul_Mes = 10 Then
    Moul_Mes = 2
    CommandButton2.Enabled = True 'bouton de transfert des données à la feuille
    CommandButton2.SetFocus
    Exit Sub
    End If
    End Sub
    dand l'initialisation de l'USF j'ai ceci (en plus de boucle nommant mes champs)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    MSComm1.PortOpen = True
    Moul_Mes = 2  ' ceci ouvre bien la communication et met en fonction le comparateur :permet la mise à zéro et le sens de lecture
    End Sub
    et enfin dans un module standard je défini ces variables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Public Moulee As Byte
    Public Moul_Mes As Byte
    alors voilà ce qui ce passe lorsque je lance la macro commandutton3 (appui sur la pédale ) en 1 rien ne se passe
    le deuxième appui affiche la mesure faite précédemment
    et ainsi de suite j'ai 7 mesures décalées
    la mesure du textbox 3 (la première donc) se trouve dans le textbox4 lors de la mesure 2 (donc pas de test possible sur un hors tolérance je ne peut qu'éditer des certificat de décès )
    la question de fond maintenant c'est d'où provient ce retard à l'affichage ? pourquoi la donnée lue est elle une données mémorisée précédemment ?
    Daranc

  5. #5
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    bon déjà je ferais ça.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MSComm1.Output = "?" + Chr$(13)
    Controls("textbox" & Moul_Mes).Value = MSComm1.Input
    if Moul_mes= 3 then Controls("textbox" & Moul_Mes).Value = MSComm1.Input
    ensuite, il semblerai que ton premier appel au port com ne renvoie aucune données en fait

  6. #6
    Membre émérite

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Points : 2 523
    Points
    2 523
    Billets dans le blog
    1
    Par défaut
    le port est ouvert lors de la montée de l'usf
    là j' étalonne le comparateur
    appui sur la pédale le textbox3 est bien sélectionnée j'ai par exemple au comparateur 2.356
    changement de pièce le comparateur indique 2.362
    appui sur la touche (bouton 3) la valeur saisie dans le texbox4 est 2.356
    changement de pièce lecture comparateur 2.365 appui sur la touche le texbox5 est renseigné à 2.362 etc...
    la valeur est bien lue correctement mais pas affiché correctement , et surtout avec un temps de retard qui peut se prolonger et un décalage que je ne comprends pas
    Daranc

Discussions similaires

  1. Y-a t-il plusieurs algorithmes de calcul de l'amortissement d'un prêt?
    Par kouka dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 12/09/2007, 13h33
  2. [phpMyAdmin] Sous Interrogation Impossible?
    Par Giovanny Temgoua dans le forum Requêtes
    Réponses: 5
    Dernier message: 10/02/2004, 19h22
  3. [reseaux] interrogation de routeur
    Par Jeh dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 13/10/2003, 14h44
  4. [EGGDROP] -> On peut interroger InterBase ?
    Par MaTHieU_ dans le forum InterBase
    Réponses: 6
    Dernier message: 31/07/2003, 13h20
  5. Interrogation SQL
    Par vivier thierry dans le forum Paradox
    Réponses: 9
    Dernier message: 15/10/2002, 10h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo