Je voudrais créer des raccourcis clavier me permettant d'inserer du texte dans un champs
ex: ctrl + s inserer "essai n°1"
ctrl + t inserer "essai n°2"
est-ce possible ?
Je voudrais créer des raccourcis clavier me permettant d'inserer du texte dans un champs
ex: ctrl + s inserer "essai n°1"
ctrl + t inserer "essai n°2"
est-ce possible ?
le reste dépend si tu le fais sur Touche appuyée du form ou du contrôle
Code : Sélectionner tout - Visualiser dans une fenêtre à part If KeyCode = vbKeyS And Shift = acCtrlMask Then MsgBox "Controle + S appuyées"
oui mais ce que je voudrais c'est lorsque j'appuie sur Ctrl+S qu'il m'insère dans le champ ou je me trouve le texte "hiurhizuerzuerzi" par exemple
Bin il suffit de lui dire en lieu et place de la msgbox
Attention aux combinaisons réservées comme Crtl+F par ex.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 If KeyCode = vbKeyS And Shift = acCtrlMask Then me.LeNomDeTaZonedetexte = "essai n°1" else If KeyCode = vbKeyT And Shift = acCtrlMask then ... end if end if
est -ce que l'on peut insérer du texte à partir d'un point précis ?
Rien compris, insérer où ça et à partir d'où ? Accessement parlant ça donne quoi?
bref
Pour exploiter Keycode et Shift il faut utiliser l'évènement approprié.
Ici il s'agit de Sur touche appuyée soit du formulaire soit d'un contrôle
du formulaire (selon le cas la propriété Aperçu touches du form sera à oui ou à non).
Essaye d'adapter tout ça et s'il te reste des difficutés...
Plus clairement :
j'ai un champs mémo : Dans ce champs si je saisi ctrl+s je qu'il y insère
"objet : " ensuite je saisi à la suite du texte et de nouveau si je clique sur ctrl+t je veux qu'il insere à la suite "destinataire"
Tu as tout ce qu'il faut dans cette discussion. tu ne trouves pas l'événement Sur touche appuyée du champ mémo? et dans le code tu remplaces LeNomDeTaZonedetexte par le nom de ton mémo.
c'est toujours pas clair ?
Le problème c'est que si
je fais Ctrl+s il m'affiche bien "objet"
mais si ensuite je saisie du texte "test insertion"
et que suite à la saisie de ce tewte je fais ctrl+t
il m'efface le texte que j'ai saisie entre les deux "test insertion"
Oh! j'oubliait, pour "ajouter" le texte au champ mémo (insérer) tu utilises la
concaténation (&)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 If KeyCode = vbKeyS And Shift = acCtrlMask Then me.Monmémo= trim(me.Monmémo & " essai n°1") 'trim enlève les blancs à gauche et à droite. else .... end if
C'est marrant j'ai un peu l'impression que tu te fous un peu de ma gueule
fait le test sur un champ tu comprendra peut - être mieux ce que je veux dire
Heu... je viens de faire le test et....pardon mais ....ça marche!!!!!
Donc tu comprends d'abord ce que tu veux et on en reparle.
Le cerveau c'est fait pour servir, chercher, essayer de comprendre.
Ce code marche. et je m'arrête là pour les explications.
laisse tomber tu me faire perdre mon temps .... tu sert à rien
Si ta cahuète de cerveau te servait à qqe chose tu aurais constaté que ce qui se
produit au niveau de ton mémo se produit parce que tu es dessus à saisir et
qu'il ne se met pas encore à jour.
Solution (mais faut se creuser pour ça !)
1 **On annule l'effet de la touche S (cherche...c'est le keycode qui est concerné)
2 **On se sert de la propriété .Text du mémo vu que parfois il n'est pas à jour...
Facile pour peu qu'on n'attende pas que ça tombe tout cuit dans la bouche.
J'espère que tu ne te destines pas à une carrière informatique...préoccupant
Bonjour à tous et toutes......
Restons calme et courtois.....
Et une chose comme cela......est -ce que l'on peut insérer du texte à partir d'un point précis ?
Ici, ton texte est correctement inséré......aprés la seule chose à gérer est éventuellement de replacer le curseur en fin de ligne (sinon, il revient en début de ligne)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub MonMemo_KeyDown(KeyCode As Integer, Shift As Integer) ' CTRL + S If KeyCode = vbKeyS And Shift = acCtrlMask Then Me.MonMemo.SelText = "essai n°1" Else ' CTRL + T If KeyCode = vbKeyT And Shift = acCtrlMask Then Me.MonMemo.SelText = "Insertion" End If End If End Sub
FreeAccess
"Petit à petit l'araignée tisse sa toile"
Hello, tu oublies le set focus.
Depuis le formulaire, c'est plus pratique
mais ça sert à rien si on ne se pose pas de questions, l'aide est assez complète
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyS And Shift = acCtrlMask Then KeyCode = 0 Me.Texte7.SetFocus Me.Texte7 = Trim(Me.Texte7.Text & " essai 1 ") Me.Texte7.SelStart = Nz(Len(Me.Texte7), 0) End If End Sub
pour ce genre de fonctions. Suffit de se servir de ses doigts.
Normalement la réponse à cette question est
http://access.developpez.com/faq/?pa...efActionTouche
Petit ajout......
Ce qui nous donne cette solution.............aprés la seule chose à gérer est éventuellement de replacer le curseur en fin de ligne
Bonne continuation....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Private Sub MonMemo_KeyDown(KeyCode As Integer, Shift As Integer) ' CTRL + S If KeyCode = vbKeyS And Shift = acCtrlMask Then Me.MonMemo.SelText = "essai n°1" ' Après insertion, on replace automatiquement le curseur à la fin Me.MonMemo.SelStart = Len(Me.MonMemo) Else ' CTRL + T If KeyCode = vbKeyT And Shift = acCtrlMask Then Me.MonMemo.SelText = "Insertion" ' Après insertion, on replace automatiquement le curseur à la fin Me.MonMemo.SelStart = Len(Me.MonMemo) End If End If End Sub
[EDIT] @ Faw.....
Il semblerait que nos posts se soient croisés....Pour moi, pas de SetFocus, car l'événement ne se produit que lorsque le curseur est dans le champ Mémo.
FreeAccess
"Petit à petit l'araignée tisse sa toile"
Oui effectivement, il est exigible si l'événement est depuis le keydown du form.Envoyé par FreeAccess
Merci pour vos contributions ca marche nickel
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager