Détecter lecteur code barre
Le
Thierry Euzenot
Bonjour,
Comment en VBA, peut-on détecter le déclenchement d'un lecteur de code barre
?
En fait, ce que je veux faire, c'est lorsque l'utilisateur (qui ne sera pas
moi) appuie sur le bouton du lecteur de code barre et que la lecture se
fait, une cellule soit sélectionnée.
A noter que lorsque je connecte le lecteur de code barre, un nouveau clavier
apparait dans la liste de matériel du paneau de configuration windows.
Le but, c'est que l'utilisateur (qui n'y connait pas grand chose en Excel)
puisse lire ses codes barres sans se soucier d'être bien dans la bonne
cellule
Merci beaucoup pour votre aide, ça fait deux heures que je cherche sur le
net, mais je ne trouve pas
Thierry
Comment en VBA, peut-on détecter le déclenchement d'un lecteur de code barre
?
En fait, ce que je veux faire, c'est lorsque l'utilisateur (qui ne sera pas
moi) appuie sur le bouton du lecteur de code barre et que la lecture se
fait, une cellule soit sélectionnée.
A noter que lorsque je connecte le lecteur de code barre, un nouveau clavier
apparait dans la liste de matériel du paneau de configuration windows.
Le but, c'est que l'utilisateur (qui n'y connait pas grand chose en Excel)
puisse lire ses codes barres sans se soucier d'être bien dans la bonne
cellule
Merci beaucoup pour votre aide, ça fait deux heures que je cherche sur le
net, mais je ne trouve pas
Thierry

Poser une question


Partant de ton indication concernant la détection d'un nouveau clavier, peut
être une piste en s'inspirant du code fourni lors de cet échange ressorti de
mes archives :
"======================================================================================"
De : Laurent (de la cabane au Canada)
Groupes de discussion : microsoft.public.fr.excel
Envoyé : lundi 14 février 2005 22:37
Objet : Re: Détecter la touche SHIFT (MAJ) sous MacInstosh
Salut Philippe,
Tout fonctionne très bien avec la méthode que j'ai rapportée un peu plus
haut. En voici la version finale:
#If Mac Then
Public Sub DetectShiftKey()
Dim sTemp As String
Dim sScript As String
sScript = ("if (keys pressed) contains {""Shift""} then" & _
vbCr & "set result to ""Shift Key depressed""" & _
vbCr & "else" & vbCr & _
"set result to ""Shift Key not depressed""" & vbCr & _
"end if")
sTemp = MacScript(sScript)
MsgBox "On the Mac: " & vbCr & sTemp
End Sub
#Else
Private Declare Function GetKeyState Lib "User32" _
(ByVal vKey As Long) As Integer
Public Sub DetectShiftKey()
If GetKeyState(&H10) End Sub
#End If
De toute façon Onkey ne convient pas (d'après mes tests). J'ai appris
pas mal de choses en peu de temps, c'est super! (je ne savais même pas
qu'on pouvait faire de la compilation conditionnelle en VBA)
Salutations,
Laurent
"====================================================================================="
--
http://www.excelabo.net/mpfe/connexion.php
http://dj.joss.free.fr/trombine.htm
Avec plaisir
Philippe.R
"Thierry Euzenot" message de news:enxsU$
Voici une méthode permettant de lister les claviers présents.
Avec ça tu devrais pouvoir adapter à ton cas.
Cordialement
Pascal
Sub ListerClaviers()
Dim objWMIService As Object
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!" _
& "rootcimv2")
Dim LstClaviers
Set LstClaviers = objWMIService.ExecQuery _
("Select * from Win32_Keyboard")
For Each obj In LstClaviers
MsgBox obj.Description
Next obj
Set objWMIService = Nothing
Set LstClaviers = Nothing
End Sub
"Thierry Euzenot" message de news: enxsU$
Merci beaucoup à tout les deux pour vos réponses ! Je vais faire des tests
et vous tiendrais au courant.
Désolé du retard de réponse, mais je ne travaille dans cette société que un
jour par semaine, et le reste de la semaine, je n'ai pas accès à internet...
ne vous inquiétez donc pas si je tarde à répondre.
Thierry
"papou" de news:
J'ai testé les codes que vous m'avez fourni, ils fonctionnent parfaitement,
je réussis donc bien à récupérer le nom des différents claviers qui sont
connecté (clavier normal et lecteur de code barre) et à vérifier si l'un des
clavier (lecteur de code barre) est bien connecté.
Cependant, comment puis-je faire lorsque une touche est appuyée pour savoir
de quel clavier provient l'information ?
En effet lorsque l'utilisateur va scanner un article, le lecteur de code
barre va envoyer un signal comme si c'était un appui sur une touche. Or je
ne souhaite sélectionner une case en particulier QUE si l'information
provient du lecteur de code barre.
Merci par avance pour votre aide.
Thierry
"papou" de news:
Là ça devient un petit plus compliqué.
Parce qu'il va falloir identifier quel est le clavier qui envoie la touche.
Peut-être qu'avec quelques API ce serait possible.
Mais je pense honnêtement qu'il vaudrait mieux pour toi poser ta question
sur le forum VB : microsoft.public.fr.vb
Là-bas tu vas trouver de vrais programmeurs et très probablement avec
certains d'entre eux qui auront été confrontés à ta problématique très
spécifique.
Mais ce n'est qu'une suggestion.
Cordialement
Pascal
"Thierry Euzenot" message de news: