none
Identifier quel clavier a saisie une valeur (plusieurs claviers sur un seul PC) RRS feed

  • Question

  • Bonjour,

    Je viens vers vous suite aux conseils du forum https://answers.microsoft.com/fr-fr/msoffice
    Visiblement il est compliqué et liste trop lente (mini 7'' par requête) pour connaître le DeviceID d'un clavier usb filaire.
    Je parts donc sur une autre idée puisque le code suivant donne le DeviceID d'un récepteur HF d'un clavier HF

    j'ai donc par exemple cet ID: Device ID: USB\VID_046D&PID_C52B\7&18384972&0&1 en A1 feuille1 pour le clavier hf1
    Comment faire pour que le clavier n°1 affiche la saisie dans la cellule A1 de la feuille2
    le clavier n°2 cellule B1 de la feuille2 et ainsi de suite...
    la saisie est validée par ''enter'', comment lancer la macro pour scanner les claviers et ainsi leur dire dans quelle cellule écrire après avoir validé par enter ?
    Il peut y avoir 6 claviers (j'espère qu'il n'y aura pas d'interférence puisqu'ils les récepteurs seront tous raccordés sur le même hub_usb)
    Autre interrogation, le DeviceID est 'il différent pour chaque clavier de la même marque ?

    Sub usb_2()
     'https://msdn.microsoft.com/en-us/library/aa394587(v=vs.85).aspx
     ' affiche hub mais pas l'id clavier filaire usb
     ' affiche id d'une clé usb
     ' affiche id recepteur hf clavier
    
    Sheets("usb_2").Select
     [A1:B1048576].ClearContents
    
    i = 1
     strComputer = "."
     Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
     Set colItems = objWMIService.ExecQuery("Select * from Win32_USBHub")
    
     For Each objItem In colItems
        ' Wscript.Echo "Device ID: " & objItem.DeviceID
        ' Wscript.Echo "PNP Device ID: " & objItem.PNPDeviceID
        ' Wscript.Echo "Description: " & objItem.Description
        ' Wscript.Echo
      
         Range(Cells(i, 1), Cells(i, 2)) = "Device ID: " & objItem.DeviceID
         ' Range(Cells(i, 2), Cells(i, 2)) = "PNP Device ID: " & objItem.PNPdeviceID
         i = i + 1
         
     Next
     End Sub
    Cette idée n'est peut être pas la bonne solution, pour faire simple voici ce que j'ai et qu'il faudrait faire :
    1 x classeurs Excel avec plusieurs feuilles et des macro VB 7.0
    1 à 6 claviers pour les jurés (filaire ou HF)
    1 seul PC
    après la saisie des notes de chaque juré la valeur doit s'afficher dans une cellule réservée à un clavier
    Clavier1 = jurés 1 => note => Cellule A1
    Clavier2 = jurés 2 => note => Cellule B1
    ETC.
    info : Win10-64bits / Excel 2010-32bits
    Merci de votre aide

    mardi 28 février 2017 15:53