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 :

textbox.visible et textbox.setfocus [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut textbox.visible et textbox.setfocus
    Bonjour à tou(te)s,

    Je rencontre un problème qui m'était inconnu jusqu'à ce jour,
    A l'ouverture de mon USF, je rends invisible tous les controles, exceptés les "OptionButton", si je coche un OptionButton, je rends visible ma première textbox et lui donne le focus, jusqu'ici, pas de problème, ensuite comme j'ai donné ce code à cette textbox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub TbNom_AfterUpdate()
    If TbNom <> "" Then TbOuvrantdroit.Visible = True: Label4.Visible = True: TbOuvrantdroit.SetFocus
    End Sub
    "TbNom" étant le nom de la textbox et "TbOuvrantdroit" le nom de la textbox à rendre visible et à laquelle donner le focus.
    Malgré tout "TbOuvrantdroit" ne prend pas le focus, ni aucune des suivantes, que je rends visible sur le même principe, au préalable.

    Je serais content de lire celui ou celle qui pourrait me donner une solution.

    D'avance Merci et bonne journée
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonjour Dominique
    Normal, puisque l'afterupdate n'est déclenché qu'après que le focus est ailleurs.

    Je procéderai par étapes en utilisant Change pour afficher/masquer le TextBox suivant et Exit pour donner le focus si le TextBox suivant est visible
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub TextBox1_Change()
     
    Me.TextBox2.Visible = Me.TextBox1 <> ""
    End Sub
     
    Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
     
    If Me.TextBox2.Visible Then Me.TextBox2.SetFocus
    End Sub

  3. #3
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour mercatog,

    Merci de ta réponse, j'ai appliqué strictement tes conseils :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub TbNom_Change()
    Me.TbOuvrantdroit.Visible = Me.TbNom <> ""
    End Sub
    Private Sub TbNom_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If Me.TbOuvrantdroit.Visible Then Me.TbOuvrantdroit.SetFocus
    End Sub
    mais le 2ème textbox ne prend toujours pas le focus et je me retrouve avec un message d'erreur (voir ci-dessous), à la ligne (voir image également).
    J'ai essayé pas mal de solution mais je n'ai toujours pas trouvé la bonne.

    Bonne journée en attendant
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    J'ai testé la proposition sur mon fichier vierge avec 2 simples TextBox.

    TextBox2 est invisible à l'ouverture
    Quand je saisie quelque chose dans TextBox1, TextBox2 devient visible et je peux y accéder par tabulation.

    Essaies sur un fichier nouveau.

  5. #5
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Je suis confus mercatog, je n'avais pas précisé que mes controles sont dans un multipage, avec tes conseils, j'ai enfin trouvé la solution, il fallait préciser le nom du multipage et de la page:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub TbNom_Change()
    MP1.Pages(0).TbOuvrantdroit.Visible = MP1.Pages(0).TbNom <> ""
    End Sub
    Private Sub TbNom_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If MP1.Pages(0).TbOuvrantdroit.Visible Then MP1.Pages(0).TbOuvrantdroit.SetFocus
    End Sub
    Encore merci
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

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

Discussions similaires

  1. TextBox.text ="" quand TextBox.Visible = False
    Par noftal dans le forum VB.NET
    Réponses: 14
    Dernier message: 25/09/2013, 15h34
  2. [AC-2010] Rendre visible un textbox dans un etat selon condition
    Par dodo28 dans le forum IHM
    Réponses: 4
    Dernier message: 31/01/2013, 09h06
  3. [XL-2007] Rendre visible une textbox avec variable
    Par Fred246 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 21/12/2009, 09h37
  4. Probléme avec la proprieté Visible des textBox
    Par zghidi dans le forum ASP.NET
    Réponses: 7
    Dernier message: 24/08/2007, 13h57
  5. [Appel de Fonction] rendre ou nom un textbox visible
    Par ozzmax dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 11/11/2005, 17h22

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