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 des champs cachés [AC-2010]


Sujet :

IHM

  1. #1
    Membre régulier
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2012
    Messages : 115
    Points : 74
    Points
    74
    Par défaut Faire apparaitre des champs cachés
    Bonjour à tous,

    J'ai créé un formulaire "DIPLOME_ETUDIANT" composé d'une liste déroulante "diplome" et lorsque l'utilisateur choisi BAC, je voudrais que les champs "spécialité" et "mention" apparaissent, mais seulement lorsque BAC est choisi.

    Quelqu'un aurait une idée s'il vous plait ?

    Merci d'avance.

  2. #2
    Futur Membre du Club
    Femme Profil pro
    Architecte de base de données
    Inscrit en
    Avril 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2012
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Faire apparaître des champs cachés
    Bonjour, je ne suis pas dans le vb depuis longtemps, mais j'ai eu un soucis similaire au votre.
    Déjà, il faut mémoriser la valeur sélectionnée de la liste dans un chaîne s.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim s As String
    Dim n As Integer
    'Pour connaître le numéro de la ligne sélectionnée'
    n = Me.Controls!diplome.ListIndex
    'Pour renvoyer la valeur de la ligne n'
    s = Me.Controls!diplome.ItemData(n)
    Personnellement, j'ai écrit ces lignes dans un évènement de mise à jour de liste, afin d'actualiser dès qu'on change la sélection :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub diplome_AfterUpdate()
    Une fois la valeur sélectionnée connue, il faut faire apparaître les autres champs (ce sont bien des contrôles?) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    If s = "BAC" Then
        Me.Controls!specialite.Visible = True
        Me.Cohntrols!mention.Visible = True
    Else
        Me.Controls!specialite.Visible = False
        Me.Controls!mention.Visible = False
    End If

  3. #3
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour.
    Peut-être plus directement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub diplome_AfterUpdate()
    If Me!diplome = BAC Then
    Me.Controls!spécialité.Visible = True
    Me.Controls!mention.Visible = True
    Else
    Me.Controls!spécialité.Visible = False
    Me.Controls!mention.Visible = False
    End If
    End Sub
    Cordialement.
    R.L.

  4. #4
    Membre régulier
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2012
    Messages : 115
    Points : 74
    Points
    74
    Par défaut
    Merci à vous deux. J'ai adapté vos codes et ça fonctionne.

  5. #5
    Membre régulier
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2012
    Messages : 115
    Points : 74
    Points
    74
    Par défaut
    Bonjour à tous!

    Je reviens vers vous car j'aimerais faire la même chose mais avec une case à cocher...
    Par exemple, dans le formulaire BAC, si l'utilisateur coche le champs "bac_obtenu" alors le champ "date_obtention" apparaitra. Comment faut-il faire?
    En remplacant ListIndex par CheckBox ça ne fonctionne pas...

    Je vous remercie par avance.

  6. #6
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2007
    Messages
    169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2007
    Messages : 169
    Points : 241
    Points
    241
    Par défaut
    En adaptant le code de RobiPMS, ça donnerait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub bac_obtenu_AfterUpdate()
      If Me.bac_obtenu.Value = True Then
          Me.spécialité.Visible = True
          Me.mention.Visible = True
      Else
          Me.spécialité.Visible = False
          Me.mention.Visible = False
      End If
    End Sub

  7. #7
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour à tous.

    En fait, le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim s As String
    Dim n As Integer
    'Pour connaître le numéro de la ligne sélectionnée'
    n = Me.Controls!diplome.ListIndex
    'Pour renvoyer la valeur de la ligne n'
    s = Me.Controls!diplome.ItemData(n)
    n'est pas nécessaire pour ce type de situation.
    Il suffit d'adapter les "If", et éventuellement de les combiner, pour que l'effet obtenu corresponde à l'attente. Par exemple, on pourrait imaginer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    If Me!diplome = BAC And Me.bac_obtenu.Value = False Then
        Me.Controls!specialite.Visible = True
        Me.Controls!mention.Visible = False
        Me.Controls!date_obtention.Visible = False
    ElseIf Me!diplome = BAC And Me.bac_obtenu.Value = True Then
        Me.Controls!specialite.Visible = True
        Me.Controls!mention.Visible = True
        Me.Controls!date_obtention.Visible = True
    ElseIf Not Me!diplome = BAC Then
        Me.Controls!specialite.Visible = False
        Me.Controls!mention.Visible = False
        Me.Controls!date_obtention.Visible = False
    End If
    A toi de penser à toutes les situations possibles et d'adapter le code pour qu'il corresponde à toutes les combinaisons possibles.
    Bon travail!

  8. #8
    Membre régulier
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    115
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations forums :
    Inscription : Avril 2012
    Messages : 115
    Points : 74
    Points
    74
    Par défaut
    Merci beaucoup, j'ai adapté mon code, il fonctionne.
    Encore merci!

  9. #9
    Membre éprouvé

    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 789
    Points : 1 266
    Points
    1 266
    Par défaut
    Bonjour Oreo,

    Merci de cliquer sur le bouton "Résolu" pour que cela profite à tout le monde.

    Cordialement

    Christophe

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

Discussions similaires

  1. Faire apparaitre un champ caché grace a une liste déroulante
    Par nowhere_59 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 28/05/2010, 10h59
  2. faire apparaitre des images dans un champs du texte
    Par j_esti dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 08/09/2008, 13h09
  3. Réponses: 3
    Dernier message: 09/06/2008, 18h59
  4. Réponses: 3
    Dernier message: 05/08/2005, 19h34
  5. JSP: faire apparaitre des données ...
    Par LeDébutantJava dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 19/06/2004, 16h21

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