CTRL + s dans un UserForm

Bonjour à tous!

Je me demandais s'il était possible d'entrer une commande par KeyUp ou KeyDown ou KeyPress d'un UserForm afin de lui dire que quand je suis dans le UserForm peu importe dans qu'elle TextBox je suis je puisse faire "CTRL + s" et qu'il effectue l'action que j'aurai programmé?

Actuellement, je peux le faire avec une TextBox quand je suis dans celle-ci j'ai programmé pour que quand je clique sur "CTRL + ;" ça inscrive la date automatique. Je pensais quand copiant le code dans le UserForm_Key(...) (en le modifiant bien sûr pour ce que je voulais qu'il fasse) ça fonctionnerait, toute fois ça ne fonctionne pas...

Pouvez-vous m'aider? :)

Bonjour CedL,

Déjà dit il me semble, dans n'importe quel objet VBA, vous avez une liste de propriété utilisable qu'il suffit de sélectionner

image

Donc l'évènement existe

Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

End Sub

Ensuite par rapport au souci rencontré, il faudrait peut-être nous donner le code qui ne marche pas.. non

A+

Bonjour BrunoM45,

Oui effectivement tu as raison! Voici le code que j'ai tenté et qui ne se passe tout simplement rien :

Private Sub UserForm_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

If KeyCode = 83 And Shift = 2 Then
    MsgBox "Réussi"
End If

End Sub

J'ai beau le mettre dans KeyPress, KeyDown, rien ne fonctionne. Pourtant dans mes TextBox où j'entre des dates ça fonctionne très bien, mais pas quand je le mets dans le UserForm.

Re,

Je n'ai absolument pas parlé de KeyUp

Voici un code qui fonctionne

Private Sub UserForm_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  If KeyAscii = 19 Then
    MsgBox "CTRL+S réussi"
  End If
End Sub

Mais ATTENTION !
Il faut que l'USF est le focus et non un contrôle

A+

Merci BrunoM45 et pour la précision je comprends mieux pourquoi ça ne fonctionnait pas!

Rechercher des sujets similaires à "ctrl userform"