IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Word Discussion :

Detecter l'utilisation de la touche ENTER dans une textbox d'un Userform


Sujet :

VBA Word

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2020
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Detecter l'utilisation de la touche ENTER dans une textbox d'un Userform
    Bonjour à tous !

    D'avance merci pour votre aide :-)

    J'utilise word 365.

    Dans mes documents, se trouvent des _ à l'endroit où je dois apporter des précisions manuelles.
    J'ai crée un petit code dans un userform pour aider à compléter. Le userform est composé d'une textbox et d'un bouton. Quand j'appuie sur le bouton, le code recherche le _ le plus proche et le selectionne. J'indique alors ce que je souhaite modifier dans la textebox. Quand j'appuie sur le bouton, il remplace le _ par la valeur de la textbox. Il vide ensuite la textbox et recherche et selectionne le _ suivant. C'est super pratique pour compléter des documents et ne rien oublier derrière soi.

    Par contre, pour le rendre encore plus efficace, j'aurais souhaité me passer du bouton. Et intégrer le code à la textbox elle même. C'est à dire, détecter le fait qu'on appuie sur "enter" et ensuite exécuter le code.

    J'ai tenté avec "application.onkey" mais il doit y avoir quelque chose que je fais mal. J'aurais souhaité avoir un "if toucheEnterAppuyée = 1 then"...

    Si vous avez une solution pour moi ?

    En vous remerciant,

    Katan

  2. #2
    Membre confirmé
    Homme Profil pro
    Auto entrepreneur
    Inscrit en
    Décembre 2021
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Auto entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2021
    Messages : 351
    Points : 552
    Points
    552
    Par défaut
    Bonjour,

    Si vous utilisez l'intellisense (une fois votre variable instanciée, un point derrière la variable, vous donne accès aux propriétés, méthodes et événements applicables à la variable).
    Vous pourrez ainsi vérifier que Application.Onkey n'existe pas pour Word.

    En revanche, vous pourriez contrôler la lancement de votre procédure avec l'événement TextBox1_Change. Il vous suffit de définir un caractère qui va déclencher l'événement s'il est saisi. Ici j'ai utilisé l'underscore.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Private Sub TextBox1_Change()
     
          If InStr(1, TextBox1, "_", vbTextCompare) > 0 Then
             'Suite du code
             TextBox1 = ""
          End If
     
    End Sub

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2020
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Effectivement, l'intellisense cela aurait dû me mettre la puce à l'oreille!

    Merci pour le code, il fonctionne, ou du moins en partie !

    Le texte ainsi encodé et détecté (ici l'underscore) est ajouté dans la textbox, et donc dans le word final également.
    Il y a il moyen de retirer le fait que quand on appuie sur _, il le prend en compte?

  4. #4
    Membre confirmé
    Homme Profil pro
    Auto entrepreneur
    Inscrit en
    Décembre 2021
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Auto entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2021
    Messages : 351
    Points : 552
    Points
    552
    Par défaut
    Il y a il moyen de retirer le fait que quand on appuie sur _, il le prend en compte?
    ?
    Si vous avez besoin de l'underscore, choisissez un autre caractère pour lancer la procédure, mais je n'ai peut-être pas bien compris le problème.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2020
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    J'ai changé par µ pour être sur de ne pas avoir de soucis.
    Mais par exemple, je désire remplacer "_" par "DUBOIS". Je tape donc "Duboisµ" dans le textbox. Il remplace dans mon word et il y indique "DUBOISµ". Il faudrait un moyen d'isoler le dernier caractère de la textebox (le _ dans ton exemple et le µ dans le mien) et de ne pas l'inclure.

  6. #6
    Membre confirmé
    Homme Profil pro
    Auto entrepreneur
    Inscrit en
    Décembre 2021
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Auto entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2021
    Messages : 351
    Points : 552
    Points
    552
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Mid(TextBox1, 1, Len(TextBox1) - 1)

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2020
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Septembre 2020
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Ca fonctionne, c'est opérationnel ! Un grand merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Afficher une cellule d'un classeur dans une TextBox d'un UserForm
    Par PPLILH2008 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/11/2009, 21h38
  2. [AC-2003] Appel d'une procédure après touche Entrée dans une textbox
    Par Shankara dans le forum IHM
    Réponses: 13
    Dernier message: 31/05/2009, 23h19
  3. Détecter le clic sur la touche F1 dans une form.
    Par demando77 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 26/05/2008, 16h11
  4. Capturer le touche ENTER dans un TextBox simple sans bruit
    Par bubulemaster dans le forum Windows Forms
    Réponses: 3
    Dernier message: 30/04/2008, 22h08
  5. [Javascript] appui sur la touche entrée dans une textbox
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 02/01/2006, 11h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo