Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
Bonjour , je dispose d'un formulaire ci-joint .
Mon but serait d'appeler pour les textbox le clavier visuel.
Après plusieurs recherche et test je ne trouve pas de solution. (je débute dans VBA )
pouvez-vous m'éclairer sur le sujet ?
Merci
Je travaille sur un projet qui consiste à répertorier des check listes sur un fichier Excel. Le remplissage actuel de celles-ci se fait sur format papier et...
bonsoir guyana76 bonsoir le forum
en vba dans un module
Sub test()
retval = Shell("cmd /c osk")
End Sub
dans l'userform
Private Sub LaTextbox_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 1 Then
retval = Shell("cmd /c osk")
End If
End Sub
cordialement
galougalou
Bonjour Guyana, Galougalou,
J'ai tout essayé comme combinaison et ça marche pas sous XL2007.
C'est comme si le clavier apparaît puis disparaît. On voit juste un clignotement.
( A noter que sous Executer "C:\Windows\System32\osk.exe" ça marche impeccable )
Connaîtriez vous la cause ?
Guyana, ça marche sous 2016 ?
Bonjour Guyana, Galougalou,
J'ai tout essayé comme combinaison et ça marche pas sous XL2007.
C'est comme si le clavier apparaît puis disparaît. On voit juste un clignotement.
( A noter que sous Executer "C:\Windows\System32\osk.exe" ça marche impeccable )
Connaîtriez vous la cause ?
Guyana, ça marche sous 2016 ?
c'est bien le soucis avec shell et 2016 même en 32 il appelle la version 64 des fois alors que 2007 32 apelle toujours les versions 32 donc chemin complet pour etre sur
plusieurs méthodes
VB:
'version 1 avec api
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Sub ouvre_clavier_virtuel1()
ShellExecute Application.hwnd, "open", "osk.exe", "", "", 1
End Sub
VB:
'version2
Sub ouvre_clavier_virtuel2()
Shell "cmd /c C:\Windows\System32\osk.exe", vbNormalFocus
End Sub
VB:
'version3
Sub ouvre_clavier_virtuel3()
CreateObject("wscript.shell").Run "C:\Windows\System32\osk.exe"
End Sub
et enfin pour le fermer
VB:
' et pour fermer
Sub ferme_clavier_virtuel()
Dim wmi As Object, query$, osks
Set wmi = GetObject("winmgmts:root\cimv2")
query = "select * from win32_process where name=""osk.exe"""
For Each osks In wmi.execquery(query)
osks.Terminate
Next
Set wmi = Nothing
End Sub
bonsoir guyana76 bonsoir le forum
en vba dans un module
Sub test()
retval = Shell("cmd /c osk")
End Sub
dans l'userform
Private Sub LaTextbox_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 1 Then
retval = Shell("cmd /c osk")
End If
End Sub
cordialement
galougalou
Bonsoir, malheureusement ca ne fonctionne pas sur mon PC , mais c'est peut-être lié a des paramètres Windows.
J'attend une tablette sous W10 peut-etre le résultat bon . Je vais essayer de passer mon pc en mode tactile.
c'est bien le soucis avec shell et 2016 même en 32 il appelle la version 64 des fois alors que 2007 32 apelle toujours les versions 32 donc chemin complet pour etre sur
plusieurs méthodes
VB:
'version 1 avec api
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, _
ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Sub ouvre_clavier_virtuel1()
ShellExecute Application.hwnd, "open", "osk.exe", "", "", 1
End Sub
VB:
'version2
Sub ouvre_clavier_virtuel2()
Shell "cmd /c C:\Windows\System32\osk.exe", vbNormalFocus
End Sub
VB:
'version3
Sub ouvre_clavier_virtuel3()
CreateObject("wscript.shell").Run "C:\Windows\System32\osk.exe"
End Sub
et enfin pour le fermer
VB:
' et pour fermer
Sub ferme_clavier_virtuel()
Dim wmi As Object, query$, osks
Set wmi = GetObject("winmgmts:root\cimv2")
query = "select * from win32_process where name=""osk.exe"""
For Each osks In wmi.execquery(query)
osks.Terminate
Next
Set wmi = Nothing
End Sub
bonsoir le forum
une idée comme ça
si la demande du clavier virtuel est lié à une difficulté d'utilisation de l'ordi, pour ne pas lui affecter un raccourci sur le bureau, pour un appel avec la souris ou avec l'écran tactile
pour le créer
double clic sur disque local C /windows/systeme 32
-CHERCHEZ EN BAS PARMIS LES FICHIER,et pas les dossier jaunes en haut de liste
-chercher en bas de liste bien après les dossiers le fichier nommé "osk";( apres le fichier "opengl32.dll" )
-clice droit
-creer racourci
cordialement
galougalou
tout a fait staple1600
mais j'ai imaginé que l'utilisateur avait des difficultés avec son clavier et ne se servait que de la souris.
mais peut-être que je suis trop imaginatif 🙄
cordialement
@+
- 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