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ésactiver un textbox [XL-2010]


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
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Par défaut désactiver un textbox
    Bonjour à tous,

    C'est un sujet très facile... mais mon code ne marche pas

    Voila ce que je veux faire avec mon formulaire :
    - J'ai 2 optionbutton : OptionButton_YES et OptionButton_NO, et un textbox : TextBox_TEXTE
    - Quand l'utilisateur clique sur YES, je souhaite activer la textbox, sinon, la textbox doit être désactivée.
    J'entends par "désactivée" : grisée et non modifiable.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub OptionButton_NO_Click()
    TextBox_TEXTE.Enabled = OptionButton_NO.Value
    End Sub
    Malheureusement, rien ne se passe, la Textbox ne se désactive pas du tout.
    Qu'ai-je fait de travers à votre avis ?

    Merci par avance !

  2. #2
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    vois du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub OptionButton1_Click()
     If OptionButton1.Value = False Then Txtbox1.Enabled = False
    End Sub
    N'aurais-tu pas intérêt à mettre un CheckBox à la place des tes 2 OptionButton ?

    cordialement,

    Didier

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Par défaut
    Bonjour,

    C'est mon bouton qui s'appelle "OptionButton_NO"

  4. #4
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    tiens, d'ailleurs, un bon truc qui compense les désavantages du VBA en anglais , c'est de mettre les nommages proches des mots clefs en Français, genre OptionButton_Non - OptionButton_Oui, du coup c'est très explicite et il n'y a aucun risque de confusion avec des mots clefs

    cordialement,

    Didier

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    426
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 426
    Par défaut
    Bonjour,

    Merci pour ces réponses !

    Alors...après avoir un peu réfléchi je me rends compte que j'ai fais une confusion : j'étais convaincue que le fait de désactiver une TextBox voulait explicitement dire que sa couleur de fond devait passer au gris.. en fait non !
    Et deuxième chose : j'ai remplacé mes OptionButton par des CheckBox qui, en effet, simplifie les choses.

    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub CheckBox1_Click()
     
    'Désactiver TextBox si CheckBox décochée
    If Me.CheckBox1 = False Then
            Me.TextBox1.Enabled = False                      'Désactiver
            Me.TextBox1.Value = ""                              'Vider la Textbox
            Me.TextBox1.BackColor = RGB(211, 211, 211) 'Fond gris clair
        Else
            Me.TextBox1.Enabled = True                       'Activer
            Me.TextBox1.BackColor = RGB(255, 255, 255) 'Fond blanc
    End If
    End Sub
    Encore merci pour votre aide !

  6. #6
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    bonjour,

    tu as raison pour Enabled et l'estompage, mais c'est faux pour un textbox, ce que tu peux faire aussi , c'est carrément de jouer sur se propriété visible, ce qui fait que l'utilisateur ne s’excite pas sur une textbox bloquée

    cordialement,

    Didier

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

Discussions similaires

  1. [VB.NET] Couleur du texte dans un TextBox désactivé
    Par Cricket dans le forum Windows Forms
    Réponses: 9
    Dernier message: 08/10/2013, 22h16
  2. désactiver les textbox d'un form
    Par reedy dans le forum VBA Access
    Réponses: 2
    Dernier message: 26/11/2010, 16h10
  3. Désactiver lostfocus textbox sur Clic
    Par david_33 dans le forum VB.NET
    Réponses: 1
    Dernier message: 27/05/2008, 09h01
  4. Réponses: 5
    Dernier message: 10/04/2007, 14h44

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