Autres gestion bibliothèque avec lecteur code barre

Chatron

XLDnaute Junior
Bonjour à tous
Nous gérons (depuis une dizaine d'années) une Bibliothèque associative avec une application que j'avais réalisé avec votre aide
Nous aimerions pouvoir nous servir d'un lecteur de code barre pour aller plus vite
J'ai ajouté une TextBox dans mon UserForm de saisie mais je bute sur sa programmation
je ne sais pas comment programmer que la recherche "For Each Next" ne démarre que lorsque on clique sur la touche "Entrée" et comment mettre en arret la procédure de recherche par auteur (je veux la conserver pour les livres qui ne sont pas enregistrés avec le code barre)*
Voici mon code
VB:
Private Sub TextBox3_Change() 'action douchette
Dim Cell As Range
Dim DerCell As String
Dim H As Variant
ComboBox2 = ""
ComboBox3 = ""
CbB4 = ""
'H = TextBox3
Windows("GdA.xls").Activate
      Sheets("GdA").Select
  DerCell = Range("E8").End(xlDown).Address
TextBox3.RowSource = "E9:" & DerCell
For Each H In Sheets("GdA").Range("E9:E" & Range("E65536").End(xlUp).Row)

If H.Value = Me.TextBox3.Value Then Me.ComboBox2 = (H.Offset(0, 1).Value)
.Me.ComboBox3 = (H.Offset(0, 2).Value)
.Me.CbB4 = (H.Offset(0, 3).Value)

Next
End Sub

Mon application fonctionne sous Excell 2000 et XP mais je l'ai essaye sur les dernières version d'Excell et ça fonctionne

Merci de votre aide
 

Pièces jointes

  • GdA.xls
    447 KB · Affichages: 7
  • GdP.xls
    16 KB · Affichages: 4
  • GEST_essai douchette.xls
    210.5 KB · Affichages: 9
Solution
Bonsoir,
Classeur modifié, dites-moi si cela vous convient ( je commenterai le code )

Modules modifiés :
  • ThisWorkBook ( corrigez les lignes ci-dessous selon votre contexte )
VB:
Private Sub Workbook_Open()
  ' Dossier de sauvegarde de Gda,GdP et ce classeur avec la date en suffixe
    Names("Path_Save").RefersToR1C1 = ThisWorkbook.Path & "\Save\"
 
  ' Dossier où trouver Gda et GdP
    Names("Path_Data").RefersToR1C1 = ThisWorkbook.Path & "\Données\"
 
  ' Clone Usb de sauvegarde de Gda,GdP et ce classeur avec la date en suffixe
    Names("Path_Usb").RefersToR1C1 = ThisWorkbook.Path & "\H\"      '  "H:\"
  • Usf_Prêt ( anciennement UsfForm1 )
  • Mod_F55 ( anciennement Module6 )
Le classeur Xls est au format Excel...

Chatron

XLDnaute Junior
Regardez le classeur joint, s'il peut convenir ....
Bonjour
j'ai essayé votre fichier, mais je ne peux pas ouvrir le Usf_Prêt
ça bloque sur Usf_Prêt.Show, sans que j'arrive à comprendre pourquoi
J'ai bien regardé dans initialise, je pensais qu'il fallait activer le fichier GdA, mais ça ne change rien
Je suis pas très doué, mais j'ai cru comprendre que dans le cas ou le code n'est pas enregistré, en sélectionnant l'auteur et le titre il s'enregistre, c'est positif

La version que nous avions précédemment fonctionnait très bien (sauf que le code ne s'enregistrait pas en sélectionnant le titre)
quand la douchette ne trouvait pas, il fallait sélectionner l'auteur, titre etc... dans leur ComboBox
Ce que j'avais essayé de faire, un peu pour fignoler mais surtout pour m'entrainer en VBA et tenter de maitriser un peu cette technique qui me donne beaucoup de fil à retordre
c'était de mettre un message, lorsque l'ouvrage n'est pas enregistré avec son code barre, que le focus aille dans la combobox "auteurs" et inviter les utilisateurs à chercher comme avant le nom de l'auteur et qu'enfin TbX_Douchette passe à ""

Merci de l'intérêt que vous m'accordez
 

fanch55

XLDnaute Barbatruc
Bonjour,
Vous n'avez pas dit avec quelle version d'excel vous faites les tests .
Ci-joint le classeur au format Office 97-2003 avec un trap de l'erreur .
Dites-moi quels sont les messages produits .
 

Pièces jointes

  • GEST_Bibliotheque F55.xls
    282.5 KB · Affichages: 5

Chatron

XLDnaute Junior
Bonjour,
Vous n'avez pas dit avec quelle version d'excel vous faites les tests .
Ci-joint le classeur au format Office 97-2003 avec un trap de l'erreur .
Dites-moi quels sont les messages produits .
Bonjour
c'est bien la version d'excell 97-2003 que j'utilise
Par contre, je crois qu'il faut abandonner cette dernière solution, car, contrairement à celle que j'utilise et qui marche parfaitement aussi bien avec la douchette ou en faisant la sélection à partir du nom de l'auteur, même si elle est toujours perfectible.
Cette dernière version que vous me donnez, ne marche pas du tout :
  • Ne trouve pas les emprunteurs (lecteurs)
  • N'accepte pas les encaissements
  • plante sur la douchette
  • ne trouve pas les auteurs
  • bref, je n'ai rien pu saisir
ci joint quelques copies d'écran
Encore merci pour l'intérêt que vous portez à mon travail
 

Pièces jointes

  • click-encaissement.JPG
    click-encaissement.JPG
    20 KB · Affichages: 9
  • effet douchette.JPG
    effet douchette.JPG
    64.3 KB · Affichages: 9
  • paiement.JPG
    paiement.JPG
    84.6 KB · Affichages: 9

fanch55

XLDnaute Barbatruc
Bonsoir,
  1. "Cette opération est irréversible" est un message intentionnel, ce n'est pas une erreur .
    C'est pour signifier que si on coche "encaissement cotisation", on ne pourra pas revenir en arrière ( à moins d'agir directement dans la feuille Gdl pour remettre la cotisation à Due ) .

  2. Il semblerait qu'il vous manque la bibliothèque qui définit les arraylists, c'est rare.
    Je vais prendre une autre voie mais qui nécessite plus de code pour le même résultat.

  3. Finger check : c'est Cbx_Emprunteur et non Cbx.Emprunteur .
 
Dernière édition:

Chatron

XLDnaute Junior
J'ai essayé la version que vous avez mis en pièce jointe, mais elle n'apporte aucun avantage par rapport à la solution que j'avais arrêté le 29 avril
En effet le message ne s'affiche pas et, en plus, quand le code n'existe pas il met le focus sur la combo "emprunteur", ce qui peut être une source d’erreurs
D'autre part, n'étant pas doué en VBA, je ne comprends rien à ce codage et suis donc incapable de résoudre les erreurs.
J'ai essayé de mettre le focus sur la combo auteur, mais ça bogue sur
VB:
Sub Tri(a, gauc, droi)          ' Quick sort
 ref = a((gauc + droi) \ 2)
J'arrête donc la les modifications : ce n'est vraiment pas grave s'il n'y a pas de messages et je préfère rester sur une version ou je peux intervenir plutôt que sur du code ou je ne comprends rien du tout

En tout cas merci beaucoup pour ton aide désintéressée qui m'a permis d'avancer vers une solution satisfaisante
 

Discussions similaires

Statistiques des forums

Discussions
315 127
Messages
2 116 537
Membres
112 772
dernier inscrit
Démon89