Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

TextBox & Scanner code barre

  • Initiateur de la discussion Initiateur de la discussion mikael2235
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

mikael2235

XLDnaute Occasionnel
Bonjour à tous,

J'ai crée un UserForm avec des TextBox...

L'utilisateur final devra les remplir avec un scanner à code barre.

Le problème est que quand je scanne un code barre, si le clavier est en minuscule (MAJ non actif) : il inscrit dans la TextBox ceci : 'é&é(àéé-'à

et par contre quand j'active MAJ sur mon clavier et que je scanne ensuite, il m'inscrit : 42125022640 (ce que je veux obtenir)

Donc j'ai trouvé sur le forum ceci, TextBox4 = UCase(TextBox4)

mais il scanne en minuscule et transforme en majuscule ensuite mes lettres.

Avez-vous une solution ? Merci.

Mikael
 
Re : TextBox & Scanner code barre

Encore un souci malgré tout,

J'ai mis ma macro dans This Workbook avec Private Sub woorkbbokOpen pour qu'elle s'ouvre au démarrage.

Quand j'ai mis Active VK_CAPITAL, 1 pour bloquer les majuscules, il me renvoie une erreur Sub ou Function non définie ?
 
Re : TextBox & Scanner code barre

re,


tu mets dans un module :

Code:
Public Const VK_CAPITAL = &H14  ' CapsLock
Public Const VK_NUMLOCK = &H90  ' NumLock
Public Const VK_SCROLL = &H91  ' ScrollLock
Public Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type
Public Declare Function GetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Public Declare Function SetKeyboardState Lib "user32" (kbArray As KeyboardBytes) As Long
Dim kbArray As KeyboardBytes, kbOld As KeyboardBytes
'-----------------------------------------------------
Public Sub Active(vkKey As Long, Actif As Byte)
GetKeyboardState kbArray
kbArray.kbByte(vkKey) = Actif
SetKeyboardState kbArray
End Sub
'-----------------------------------------------------
Public Sub Form_Load()
GetKeyboardState kbOld ' se rappeler l'état initial du clavier
End Sub
'-----------------------------------------------------
Public Sub Form_Unload(Cancel As Integer)
SetKeyboardState kbOld ' restaurer l'état initial du clavier
End Sub

ensuite, à l'ouverture du classeur tu mets :
Code:
Form_Load
pour te rappeler de l'état initial du clavier,

à la fermeture du classeur, tu mets :
Code:
Form_Unload
pour restaurer l'état initial du clavier.


à l'ouverture de ton UF, tu mets :
Code:
Active VK_CAPITAL, 1
pour simuler l'appui sur CAPSLOCK,

et à la fermeture de ton UF, tu mets :
Code:
Active VK_CAPITAL, 0
pour annuler la dernière tache.


au pire, met un bout de fichier, ce sera plus simple.

a+
 
Re : TextBox & Scanner code barre

Merci encore mromain,

J'avais oublié les 3 "Public" devant "Const"

Public Const VK_CAPITAL = &H14 ' CapsLock
Public Const VK_NUMLOCK = &H90 ' NumLock
Public Const VK_SCROLL = &H91 ' ScrollLock

Cette fois-ci tout marche correctement.

Merci encore
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

E
Réponses
9
Affichages
3 K
earxcurae
E
B
Réponses
2
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…