XL 2016 Bug liste déroulante dans UserForm

yannick64

XLDnaute Junior
Bonsoir à tous,
J'ai adapté un fichier Excel pour gérer le magasin élèves du lycée pro dans lequel je travaille.
J'ai des UserForm qui permettent à l'élève au magasin de gérer les entrées/sorties, pour cela on utilise une "douchette" lecteur de codes barres, ce qui nous permet de gagner du temps sur la saisie des éléments. Seulement voilà lorsque je scanne un code barre pour indiquer l'élément qui doit sortir (ou rentrer) du magasin dans mon UserForm, et admettons que ce code barre commence par un 3, Excel me donne toujours le premier item qu'il rencontre dont le code barre commence par un 3. J'ai essayé de changer les paramètres de la boite mais rien ni fait.

Si vous souhaitez jeter un petit coup d'œil vous pouvez aller dans l'onglet "Emprunter / Restituer un matériel" puis "Emprunter un matériel" et dans la boite "référence" si on saisie le premier chiffre du code barre ça bloque la sélection sur le premier qu'il rencontre avec le premier numéro correspondant. (je ne sais pas si c'est très clair).

J'avoue que là je suis perdu, si quelqu'un à une idée de la raison de ce bug je suis preneur.
Merci d'avance
Yannick
 

Pièces jointes

  • Gestion magasin Moto Champo.xlsm
    160.7 KB · Affichages: 21

yannick64

XLDnaute Junior
J'ai un lecteur de code barre donc quand je scanne un code barre ça devrait me mettre une série de chiffres correspondant au code barre et ce code barre correspond à un élément (tous est dans l'onglet stock).
Si j'ai plusieurs codes barres qui commence par 3 ça me sélectionne systématiquement le premier item de la liste commençant par un 3 même si la série de chiffres est différentes...

Merci pour votre aide.
 

Phébus

XLDnaute Nouveau
Bonjour Yannick64.

j'ai jeter un coup d'œil sur ton fichier. tu a ajouter une ligne de code qui change la focus à chaque fois que ton combobox change de valeur. essaie de mettre en commentaire ces 2 lignes :

Private Sub ComboRefEmprunter_Change()
Me.ComboDésignationEmprunter.ListIndex = Me.ComboRefEmprunter.ListIndex
Me.TxtStocksActuel = Sheets("Stocks").Range("C" & Me.ComboDésignationEmprunter.ListIndex + 4)
NomDeLaPhoto = Sheets("Stocks").Range("E" & Me.ComboDésignationEmprunter.ListIndex + 4)
On Error Resume Next
Me.Image1.Picture = LoadPicture(ThisWorkbook.Path & "\" & NomDeLaPhoto & ".jpg")
On Error GoTo 0
' Me.ComboSiteEmprunt1.SetFocus
' TxtQuantitéEmpruntée.SetFocus
End Sub

après pour pouvoir saisir manuellement le code barre en cas de recherche, change le paramètre MatchEntry en fmMatchEntryNone.

1726743611547.png


Dans ce cas si ta référence n'existe pas dans ta base de donnée il t'affichera tout de même ton code barre erroné et il y'a risque d'enregistrer des références qui n'existent pas.
 

yannick64

XLDnaute Junior
Bonjour Phébus,
Merci te regarder pour mon soucis.

Je viens d'essayer ces modifications, la mise en commentaire de 'Me.ComboSiteEmprunt1.SetFocus ne change pas la réaction du formulaire (toujours la première occurrence qui est sélectionné) et quand je change le paramètre MatchEntry en fmMatchEntryNone je ne peu carrément plus rien écrire dans la case.
 

yannick64

XLDnaute Junior
Bonjour TooFatBoy,

Connais-tu la valeur de Me.ComboRefEmprunter.Value au début de la macro ComboRefEmprunter_Change quand tu scannes un code-à-barres ?
Je n'ai pas Me.ComboRefEmprunter.Value dans la macro, mais de toute façon par défaut cette valeur devrait être vide et passer à une valeur correspondant à mon code barre au moment du scan (sachant que la colonne" Référence" est normalement avec la police 3de9 qui affiche un code barre qui me sert à étiqueter les outils et les revues).
Capture d'écran 2024-09-20 075408.png
 

Discussions similaires

Réponses
3
Affichages
404
Compte Supprimé 979
C

Statistiques des forums

Discussions
314 963
Messages
2 114 806
Membres
112 253
dernier inscrit
seynoujosaphate