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

IHM Discussion :

Faire apparaitre un bouton avec condition


Sujet :

IHM

  1. #1
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut Faire apparaitre un bouton avec condition
    Bonjour;

    J'ai sur un formulaire un bouton, en cliquant dessus, ca m'ouvre un autre formulaire, mais pour obliger l'utilisateur de renseigner un champ spécifique, faire disparaître le bouton et qu'il réapparaisse des que le champ en question est renseigné.

    Pour ce faire j'ai bricolé le code suivant, mais qui marche que quand il s'agit d'une liste déroulante, je n'ai pas su le faire pour un champ.

    Voici le code sur l'évènement sur activation du formulaire sur lequel se trouve le bouton :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_current ()
    Call masquedemaque
    End sud
    et sur l'évènement après MAJ de la liste déroulante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub masquedemasque
    if Me.Statut="Liberée"Then
    Me.Ref_main_levée.Visible =True
    '....
    Else
    Me.Ref_main_levée.Visible=False
    '.....
    End if
    end sub
    Ca marche quand c'est une liste valeur, mais quand il s'agit d'un champ quoi doit etre renseigné, je ne sais pas le faire.

    Merci.

    Cordialement.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Il n'y a pas vraiment de différence.

    Ici un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if not Isnull(Me.NomTonChamp) then
       me.TonBouton.Visible=true
     else
       me.TonBouton.Visible=false
    end if
    ou plus condensé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    me.TonBouton.Visible=not Isnull(Me.NomTonChamp)
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    A tester
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub MaTextBox_AfterUpdate()
    If Me.MaTextBox = "Liberée" Then
    Me.btnCmde.Visible = True
    '....
    Else
    Me.btnCmde.Visible = False
    '.....
    End If
    End Sub
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  4. #4
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Bonjour Marot, bonsoir Hyperion,

    Merci pour vos réponses.

    Marot vos deux solutions fonctionnent bien, sauf que le bouton apparait quand on va vers un autre enregistrement et on y revient, n y a t il pas quelque chose a faire pour qu'il apparaisse ou disparaisse de manière instantané ?

    Merci.

    Cordialement.

  5. #5
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    C'est parce-que tu l'appelles sur l'événement "Sur Activation" (Current) qui ne se produit qu'une seule fois au moment ou tu "arrives" sur l'enregistrement.
    Il faudrait un événement qui détecte une modificatuion de TonChamp.
    Peut-être après MAJ de TonChamp ? Si tu ne le modifie pas par VBA, cela me semble le meilleur candidat.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  6. #6
    Membre régulier
    Homme Profil pro
    financier
    Inscrit en
    Juillet 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : financier
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 381
    Points : 118
    Points
    118
    Par défaut
    Bonsoir Marot,

    Ca marche en effectuant la manipulation suivante :

    sur Mise a jour du champ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Date_de_remise_AfterUpdate()
    Call masquedemasque
    End Sub
    Sur activation du formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Form_Current()
    Call masquedemasque
    End Sub
    Puis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub masquedemasque()
     
    If Not IsNull(Me.Date_de_remise) Then
       Me.Commande246.Visible = True
     Else
       Me.Commande246.Visible = False
    End If
    End Sub
    Ca marche de cette maniere, je ne sais pas pourquoi mais ca marche.

    En tout cas, merci pour tout.

    cordialement.

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

Discussions similaires

  1. [XL-2007] Faire apparaitre une image avec condition
    Par uffo86 dans le forum Excel
    Réponses: 13
    Dernier message: 11/05/2010, 09h59
  2. Faire clignoter un bouton avec Eclipse
    Par Marty McFly dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 24/04/2006, 03h03
  3. Réponses: 4
    Dernier message: 01/03/2006, 11h35
  4. faire apparaitre des boutons que si necessaire
    Par jexl dans le forum Langage
    Réponses: 4
    Dernier message: 13/12/2005, 22h45
  5. pb : faire apparaitre un bouton a la position voulue
    Par bambino3997 dans le forum Composants VCL
    Réponses: 24
    Dernier message: 07/03/2005, 11h16

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