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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Philippe.R
Le #4997731
Bonsoir Thierry,

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) < 0 Then MsgBox "Touche MAJ Active."
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$
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



papou
Le #4997021
Bonjour
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$
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



Thierry Euzenot
Le #5014201
Bonjour,

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:
Bonjour
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$
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







Thierry Euzenot
Le #5014071
Re-bonjour,

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:
Bonjour
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$
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







papou
Le #5014031
Bonjour Thierry
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:
Re-bonjour,

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" message de news:
Bonjour
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$
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











Thierry Euzenot
Le #5014001
Merci beaucoup, j'y cours de ce pas ! et reviendrais vous tenir au courant.

Thierry

"papou" de news:
Bonjour Thierry
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:
Re-bonjour,

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" message de news:
Bonjour
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$
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















Philippe.R
Le #5013341
Bonsoir Thierry,
Dans le code que j'ai fourni en copie, on récupère l'information
correspondant à une pression sur la touche shift.
On pourrait imaginer une procédure d'utilisation de la douchette commençant
toujours par la pression d'une même touche (qu'il "ne reste plus qu'à
identifier").
En tout cas, merci du futur retour d'information.
--
http://www.excelabo.net/mpfe/connexion.php
http://dj.joss.free.fr/trombine.htm
Avec plaisir
Philippe.R
"Thierry Euzenot" message de news:
Merci beaucoup, j'y cours de ce pas ! et reviendrais vous tenir au
courant.

Thierry

"papou" message de news:
Bonjour Thierry
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:
Re-bonjour,

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" message de news:
Bonjour
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$
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



















Publicité
Poster une réponse
Anonyme