Problème de récup. de valeur depuis une balance avec évènement Keypress

Bonjour à tous,

voilà, j'ai créer ce fichier ci-joint qui permet d'automatiser la pesée de concombre.

En saisissant un poids manuellement et en appuyant sur le bouton "ajouter fruit" tout se passe très bien.

Maintenant mon objectif est de remplacer ça_ de supprimer ce bouton ajouter fruit _ par le fait de juste appuyer sur le bouton de la balance pour enregistrer le poids du fruit.

J'ai essayer d'appeler la procédure " btnAjoutFruit_enter()" dans TxtPdsCom_KeyPress() mais ça bug : les unités et dizaine de la valeur s'inscrit dans la procédure même et seulement la centaine est récupérée dans la textbox...

j'ai aussi essayer de créer une variable pour récupérer la valeur et l'utiliser dans la procédure btnajoutfruit() mais échec encore.

Il semble que dès l'instant ou j'ajoute quoique ce soit à la procédure TxtPdsCom_KeyPress() j'échoue alors qu'elle fonctionne bien si on ne demande rien ensuite... comme lors d'une des première version du doc (ired-CCB4) donc je ne vois pas comment faire si vous avez des idées ou trouvez des erreurs, merci d'avance!

A bientôt

8ired-ccb4.xlsm (67.50 Ko)

Bonjour,

Maintenant mon objectif est de remplacer ça_ de supprimer ce bouton ajouter fruit _ par le fait de juste appuyer sur le bouton de la balance pour enregistrer le poids du fruit.

Pas sûr d'avoir bien compris.

Vous voulez supprimer le bouton Ajout fruit -> Ok
Après vous entrez une donnée dans la textbox TxtPdsCom --> OK

Ensuite pour enregistrer les données vous voulez appuyer sur la touche entrée sur votre clavier ou vous voulez appuyer sur le bouton "Ajouter cette pesée"

Crdlt

Bonjour,

Le bouton ajouter fruit m'a permis de simuler la pesée par la balance connectée le temps de créer le formulaire.

dans le Doc CCB4, quand j'appuie sur txtpdscom. Keypress () le poids est transmis depuis le bouton de la balance. Mais dans le nouveau formulaire abouti le poids ne s'affiche pas correctement dès lors que j'essaye d'écrire dans cette sub pour traiter l'info, c'est à dire la mise en œuvre de ce qu'il y a dans la sub ajouter fruit enter().

le fonctionnement c'est que quand tous les fruits d'une même parcelle sont pesés les uns après les autres, les infos de la liste sont transmises sur le tableau excel puis on passe à la parcelle suivante.

j'espere que c'est plus clair...?

merci pour votre intérêt

re

quand j'appuie sur txtpdscom. Keypress () le poids est transmis depuis le bouton de la balance. Mais dans le nouveau formulaire abouti le poids ne s'affiche pas correctement dès lors que j'essaye d'écrire dans cette sub pour traiter l'info, c'est à dire la mise en œuvre de ce qu'il y a dans la sub ajouter fruit enter().

Il n'y a pas de bouton qui agit sur ce code. Je pense que vous n'avez pas compris la fonction de ce code txtpdscom. Keypress.
Ce code est exécuté chaque fois que vous appuyez sur une touche de votre clavier et va vous éviter de mettre autre chose qu'un chiffre.
Quand vous dites que le poids ne s'affiche pas correctement, que voulez-vous dire ?

Vu que vous ne répondez pas à la question que je vous ai posée, je vais donc vous proposer ceci en fonction de votre 1er post dans lequel vous dites vouloir supprimer le bouton "ajouter fruit".

Essayez ceci :

1. Supprimer le bouton "ajouter fruit"
2. Désactivez tout le code, Private Sub TxtPdsCom_Change()
3. Allez dans le code Private Sub btnAjoutFruit_enter() et remplacez cette ligne

If Me.TxtDate = "" Or Me.CboParceL = "" Or Me.TxtPdsCom = "" Then Exit Sub

4. Dans le code Private Sub TxtDate_enter(), remplacez ces deux lignes

If Me.TxtDate <> "" Or Me.CboParceL <> "" Or Me.TxtPdsCom <> "" Then Exit Sub
If Me.TxtDate = "" Then Exit Sub

5. dans le code Private Sub TxtPdsCom_AfterUpdate(), ajoutez cette ligne juste avant le END SUB

Call btnAjoutFruit_enter

Une fois fait, entrez un poids dans la textbox TxtPdsCom, puis appuyer sur la touche ENTREE ou TAB de votre clavier

Si ok,

Cordialement

bonjour,

Il n'y a pas de bouton qui agit sur ce code. Je pense que vous n'avez pas compris la fonction de ce code txtpdscom. Keypress.

Avant l'ouverture du formulaire, j'ouvre le programme de la balance connectée à l'ordi.

je pèse un fruit sur la balance et c'est la touche de la balance qui envoie le poids automatiquement dans la textbox avec keypress. Ce qui fonctionne bien dans CCB4 où le poids est directement inséré dans le tableau excel.

si je veux traiter le poids dans la listbox, ça bug... J'aurais aimé mettre une copie d'écran mais...

Vacances!!!

Merci pour votre temps,

bon weekend

Bonjour

qui envoie le poids automatiquement dans la textbox avec keypress.

Qui envoie dans la textbox --> OK

Avec keypress --> Non. Le code keypress fait juste un contrôle que vous avez bien des chiffres dans la textbox. Si vous entrez des lettres avec chiffres ou non, la txtbox reste vide

si je veux traiter le poids dans la listbox,

Heu que voulez-vous dire par "traiter" car ce n'est pas ce que vous expliquiez au premier post dans le fil.... où vous écrivez vouloir supprimer le bouton "ajout fruit"

Avez-vous essayé ce que je vous ai proposé dans le fichier Cbb4 ?

Cordialement

"traiter" car ce n'est pas ce que vous expliquiez au premier post dans le fil.... où vous écrivez vouloir supprimer le bouton "ajout fruit"

Pour essayer d'obtenir ce que je veux j'ai essayé d'écrire call btnajouterfruit() dans txtpdscom keypress pour poursuivre après avoir entrer le poids du fruit . Je veux que le code contenu dans bouton ajouter fruit soit exécuté juste après avoir appuyé sur la balance, sans avoir à recliquer nul part avec ma souris.

Avez-vous essayé ce que je vous ai proposé dans le fichier Cbb4 ?

Non je n'ai pas mon PC cette semaine, mais je ne manquerai pas d'essayer encore dès la reprise !

Merci, à très vite

Je veux que le code contenu dans bouton ajouter fruit soit exécuté juste après avoir appuyé sur la balance, sans avoir à recliquer nul part avec ma souris.

C'est le but de ce que je vous ai donné dans mon post précédent

Bonjour,

Avez-vous essayé ce que je vous ai proposé dans le fichier Cbb4 ?

J'ai fait les remplacements nécessaires et le poids du fruit et ses caractéristiques s'affichent correctement dans la listbox.

J'ai encore un problème pour optimiser le fonctionnement, je n'arrive pas à récupérer le FOCUS sur txtpdscom après une pesée, ce qui oblige à cliquer dessus avec la souris, pour peser le fruit suivant et donc je perds en ergonomie... J'ai tenté quelques options trouvées dans le forum mais sans succès (notamment avec l'évènement txtpdscom_before update).

Auriez-vous une solution?

Cordialement

J'ai encore un problème pour optimiser le fonctionnement, je n'arrive pas à récupérer le FOCUS sur txtpdscom après une pesée, ce qui oblige à cliquer dessus avec la souris,

Lorsque je clique sur le bouton ajouterpesee, la textbox est bien sélectionnée pourtant

Expliquez moi ce que vous faites


Autre chose : le "activate" dans les Userfoms devraient être remplacés par "Initialize" --> donc comme ceci --> Private Sub UserForm_initialize()
ensuite, votre code pour ouvrir l'USF dans la feuille

Private Sub ForMu_Click()
'Afficher le formulaire à partir de la feuille
load frmSaisie
frmSaisie.Show
End Sub

OK,

désormais la balance transfert correctement le poids dans txtpdscom puis transférer dans la listbox.

je souhaite peser plusieurs fruits à afficher dans la listbox, en n'utilisant que la balance. Mais le focus ne reviens pas sur txtpdscom à moins comme vous le dites que la listbox soit transférée vers le tableau grâce au bouton ajouterpesée. Ce bouton en fait ne devrait servir que pour valider la pesée du lot de fruits par parcelle. Je voudrais pas avoir à utiliser la souris ou le clavier pour enchainer un certain nombre de fruit. ajouterpesée permet de passer au lot suivant, parcelle+1.

J'ai tenté sans succès, le focus revenais après une pesée mais tous les autres boutons étaient "figés"

Private Sub TxtPdsCom_Exit(ByVal Cancel As MSForms.ReturnBoolean)

Cancel = True
Call ...()  'quelqu'évènements où j'insère TxtPdsCom.SetFocus

End Sub

re-re-merci

Cordialement

re

Pas facile de comprendre tout ce que vous faites à chaque pesée d'autant qu'au dessous il y a cbdechet et textdechet à compléter.

Si à chaque pesée la Txtpdscom est vidée peut-être pouvez-vous ajoutez ce code

Private Sub TxtPdsCom_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TxtPdsCom = "" Then
    Cancel = True
End if
End Sub

Bonjour,

Si à chaque pesée la Txtpdscom est vidée peut être pouvez-vous ajoutez ce code

Private Sub TxtPdsCom_Exit(ByVal Cancel As MSForms.ReturnBoolean)

If TxtPdsCom = "" Then

Cancel = True

End if

End Sub

J'en était arrivée à cette option qui est ce qui se rapproche le plus de ce que je veux obtenir. Malheureusement cela empêche de cliquer sur n'importe quel autre bouton par la suite puisqu'au final je ne sors jamais de cette Sub TxtPdsCom_Exit

Je crois devoir conclure que le format formulaire est pas adapté à ce que je veux obtenir.

Je vous remercie beaucoup pour toute l'aide apportée et je vais mettre le sujet résolu; à savoir qu'il faut traiter les infos envoyée de la balance par un évènement "AfterUpdate" pour que cela fonctionne.

A une prochaine ;)

Rechercher des sujets similaires à "probleme recup valeur balance evenement keypress"