Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Détecter lecteur code barre

7 réponses
Avatar
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

7 réponses

Avatar
Philippe.R
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" <thierry.euzenot*arobase*gmail.com> a écrit dans le
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



Avatar
papou
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" <thierry.euzenot*arobase*gmail.com> a écrit dans le
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



Avatar
Thierry Euzenot
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" a écrit dans le 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" <thierry.euzenot*arobase*gmail.com> a écrit dans le
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







Avatar
Thierry Euzenot
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" a écrit dans le 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" <thierry.euzenot*arobase*gmail.com> a écrit dans le
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







Avatar
papou
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" <thierry.euzenot*arobase*gmail.com> a écrit dans le
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" a écrit dans le
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" <thierry.euzenot*arobase*gmail.com> a écrit dans le
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











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

Thierry

"papou" a écrit dans le 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" <thierry.euzenot*arobase*gmail.com> a écrit dans le
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" a écrit dans le
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" <thierry.euzenot*arobase*gmail.com> a écrit dans le
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















Avatar
Philippe.R
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" <thierry.euzenot*arobase*gmail.com> a écrit dans le
message de news:
Merci beaucoup, j'y cours de ce pas ! et reviendrais vous tenir au
courant.

Thierry

"papou" a écrit dans le
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" <thierry.euzenot*arobase*gmail.com> a écrit dans le
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" a écrit dans le
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" <thierry.euzenot*arobase*gmail.com> a écrit dans le
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