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 :

"Désélectionner" un objet dans un UserForm [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Automaticien
    Inscrit en
    Juin 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Automaticien

    Informations forums :
    Inscription : Juin 2014
    Messages : 6
    Par défaut "Désélectionner" un objet dans un UserForm
    Bonjour à tous et à toute,

    J'ai actuellement un petit problème pour l'utilisation d'une fonction UserForm.
    Je souhaiterais utiliser la fonction "KeyPress", ou "KeyDown", etc... Mais celles-ci ne marchent pas étant donné qu'il y a un objet sur le UserForm.

    Je m'explique.
    Lors du lancement d'un Userform, aucun objet (dans mon cas c'est un bouton) n'est sélectionné, donc le code de "KeyPress" est fonctionnel. Cependant si on fait la touche "Tab" ou encore les flèches directionnelles, on sélectionne les boutons automatiquement, et à partir de ce moment impossible de faire fonctionner le code de "KeyPress".
    Quand je parle de sélection d'un bouton, on le voit très clairement grâce au petit pointillé à l’intérieur même du bouton, si ça peut aider certain à comprendre mon problème...

    Ma question est donc simple : Peut-on désactiver la sélection automatique des boutons (ou objets en général) ?

    Car la base de mon problème vient d'ici. Si les boutons ne sont pas sélectionnés, alors mon code "KeyPress" sera fonctionnel peu importe les touches appuyées.

    J'espère avoir été assez clair dans mes explications, n'hésitez pas à me poser des questions si vous avez besoin de précisions.

    Merci d'avance,

    ZowZow.

  2. #2
    Membre Expert Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Par défaut
    Bonsoir ZowZow, bonsoir le forum,

    Peut-être comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub UserForm_Initialize()
    Dim CTRL As Control 'déclare la variable CTRL (ConTRôLe)
     
    For Each CTRL In Me.Controls 'boucle sur tous les contrôles de l'UserForm
        CTRL.TabStop = False 'interdit l'accès au contrôle par la touche [TAB]
    Next CTRL 'prochain contrôle de la boucle
    End Sub
    Penser à rétablir la propriété à True après le KeyPress ou KeyDown si nécessaire...

  3. #3
    Membre du Club
    Homme Profil pro
    Automaticien
    Inscrit en
    Juin 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Automaticien

    Informations forums :
    Inscription : Juin 2014
    Messages : 6
    Par défaut
    Bonsoir Thautheme,

    Tout d'abord merci pour la réponse rapide et pour la qualité de ton message.
    J'ai en effet utilisé la propriété "TabStop" pour arrêter les sélections des objets de mon userform.

    Cela marche parfaitement, et les objets ne peuvent être utilisés qu'au clic de la souris.

    ZowZow.

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

Discussions similaires

  1. Impossibilité de rajouter un objet dans un userform
    Par guy59960 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/05/2010, 10h59

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