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

Macros et VBA Excel Discussion :

Evénement sur ENTER sur cellule définie


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 506
    Par défaut Evénement sur ENTER sur cellule définie
    Bonjour,

    J'aimerais créer un évènement (code VBA) lorsque je fais {ENTER} sur une cellule définie.

    Exemple : J'ai une page Excel avec juste UNE cellule (G9) non verrouillée, lorsque je tape une donnée je dois obligatoirement cliquer sur un bouton pour lancer du code, j'aimerais que ce code se lance aussi quand je fais simplement ENTER

    Est-ce possible ?

    Merci d'avance

  2. #2
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 733
    Par défaut
    Oui c'est possible avec entre autres des OnKeys.
    les deux macros ci-dessous à mettre dans le module privé de la page en question
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_Activate() 'Met en route l'automatisme lors de l'activation de la feuille
    Tauto
    End Sub
     
    Private Sub Worksheet_Deactivate()  'Stoppe l'automatisme lors de la deactivation de la feuille
    TautoFin
    End Sub
    Dans un module simple, les macros ci-dessous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Tauto()
        Application.OnKey "{enter}", "EntVal"
    End Sub
    Sub TautoFin()
        Application.OnKey "{enter}"
    End Sub
     
    Sub EntVal()
    If ActiveCell.Address = "$G$9" Then
    NomVotreMacro  ' remplacer le nom ci-avant par celui de la macro à lancer
    End If
    End Sub
    Cordialement

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 506
    Par défaut
    Bonjour,

    Merci cela fonctionne très bien avec la touche [Enter] du pavé numérique mais pas avec la touche ENTER (celle avec la flèche)...

    Belle journée

    EDIT
    Je crois avoir trouvé...
    Encore merci :-)

  4. #4
    Membre Expert Avatar de Transitoire
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Décembre 2017
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Auditeur informatique

    Informations forums :
    Inscription : Décembre 2017
    Messages : 733
    Par défaut
    Bonjour, je connaissais pas votre manière avec le "Tilde". Je connaissais celle ci-dessous, mais l'essentiel est que ça marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.OnKey "{return}"
    Cordialement

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 506
    Par défaut
    ENTER = la touche "Enter" du clavier numérique
    ~ = la touche "Return" du clavier

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    506
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 506
    Par défaut
    Bonjour,

    Même chose, mais pour une TextBox...

    J'ai maintenant ce code qui fonctionne nickel pour passer de la TextBox1 à la TextBox5 via la touche ENTER, sauf que le texte de la TextBox5 ne se sélectionne pas et j'aimerais qu'il se sélectionne... (j'ai même une TextBox qui sans rien changer, efface le contenu... )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then TextBox5.SetFocus
    End Sub
    J'ai essayé ceci, il semble sélectionner quelque chose mais le texte s'efface
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then TextBox5.SetFocus : TextBox5.SelStart = 0 : TextBox5.SelLength = Len(TextBox5.Text)
    End Sub
    J'ai trouvé ceci, mais je n'arrive pas à l'adapter à KeyDown...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    With TextBox1
        .SelStart = 0
        .SelLength = Len(.Text)
        .SetFocus
    End With
    End Sub
    Merci d'avance pour votre aide

Discussions similaires

  1. [WB17] Evénement sur clic dans une colonne d'un champ table
    Par jaymzwise dans le forum WebDev
    Réponses: 5
    Dernier message: 03/03/2015, 10h08
  2. Evénement sur modif dans un controle d'un formulaire
    Par possible924 dans le forum IHM
    Réponses: 2
    Dernier message: 15/06/2010, 12h43
  3. Evénement sur déplacement dans TreeView
    Par petitours dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 20/07/2007, 02h35
  4. [FF] Comment détecter l'appuie sur "Enter" dans un textarea ?
    Par djuju dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 26/03/2007, 19h45
  5. Réponses: 15
    Dernier message: 13/03/2007, 17h25

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