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 :

Regrouper des zones et les afficher / cacher sans perdre de place [AC-2010]


Sujet :

IHM

  1. #1
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut Regrouper des zones et les afficher / cacher sans perdre de place
    Bonjour,

    je sais afficher ou cacher un élément (étiquette, zone de texte, de date, etc.) mais je voudrais en regrouper plusieurs de la même manière que les boutons radio dans un groupe d'options. Ceci afin de les cacher tous ensembles sans avoir à les cacher les uns après les autres.

    De plus, quand je cache un élément (avec visible = false), il reste une zone vide (à l'endroit où se trouve l'élément caché) qui peut être importante. J'aimerai pouvoir "déplier / plier" un groupe afin que les éléments en dessous remontent et qu'il n'y ai plus d'espace vide.

    Quelqu'un a déjà fait ça ?
    Christophe

    Pensez à mettre quand c'est le cas.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Mars 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Mars 2015
    Messages : 13
    Points : 10
    Points
    10
    Par défaut
    Je l'ai déjà fait sur le détail, en indiquant que si le champs présent dans le détail est vide, le détail ne s'affiche pas, dans ce cas précis la place est libérée. Peut-être que cela fonctionne aussi sur un groupe.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Détail_Format(Cancel As Integer, FormatCount As Integer)
    If IsNull(Me.L_OBSERV) Then
    Détail.Visible = False
    Else
    Détail.Visible = True
    End If
    End Sub

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut
    Merci.
    Je n'ai pas l'habitude de manipuler l'IHM d'Access, comment fait-on un groupe (autre que le groupe d'options) ?
    Christophe

    Pensez à mettre quand c'est le cas.

  4. #4
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Bonjour,

    Tu nous parles d'un état ou bien d'un formulaire ?
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  5. #5
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 004
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 004
    Points : 24 596
    Points
    24 596
    Par défaut
    Bonjour,
    Il n'y a pas de notion de groupe d'objet dans la conception d'IHM (elle a disparue dans une version précédente).

    Pour agir sur plusieurs contrôles au cour d'un même process, il faut les nommer de manière à le pouvoir.

    Exemple :

    txtNom_1
    txtPrenom_1
    txtAge_1


    Tu pourras faire une boucle de ce type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For each ctrl in me.controls
         if ctrl.name like "*_1" then
            ctrl.visible = false
         endif
    next
    Si tu as déjà nommé tes controles et que tu ne veux pas y revenir, tu peux simplement utiliser la propriété remarque.
    Tu mets dedans "GROUPE_1"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    For each ctrl in me.controls
         if ctrl.tag = "Groupe_1" then
            ctrl.visible = false
         endif
    next
    Bref ! comme tu le vois beaucoup de possibilités.
    Une autre consiste à tester la position (top, left) pour définir une pseudo-zone de groupement. Personnellement je ne m'y aventure pas. Trop complexe et trop de contrainte lié à la définition des écrans.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  6. #6
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 004
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 004
    Points : 24 596
    Points
    24 596
    Par défaut
    De plus, quand je cache un élément (avec visible = false), il reste une zone vide (à l'endroit où se trouve l'élément caché) qui peut être importante. J'aimerai pouvoir "déplier / plier" un groupe afin que les éléments en dessous remontent et qu'il n'y ai plus d'espace vide.
    J'avais raté ça.

    Il faut travailler avec les top, left... bon amusement.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  7. #7
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut
    Merci à tous de m'avoir éclairé sur ce joli bazar !
    Christophe

    Pensez à mettre quand c'est le cas.

  8. #8
    Rédacteur/Modérateur

    Avatar de ClaudeLELOUP
    Homme Profil pro
    Chercheur de loisirs (ayant trouvé tous les jours !)
    Inscrit en
    Novembre 2006
    Messages
    20 594
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de loisirs (ayant trouvé tous les jours !)
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 594
    Points : 282 192
    Points
    282 192
    Par défaut
    Juste pour le fun !









    Et un peu de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Option Compare Database
    Option Explicit
    Dim lHauteurZone As Long
     
     
    Private Sub Form_Open(Cancel As Integer)
      Dim ctl As Control
      lHauteurZone = Me.TrBas.Top - Me.TrHaut.Top
      'Mémoriser les propriétés d'origine
      For Each ctl In Me.Section("Détail").Controls
        ctl.Tag = ctl.Top & "|" & ctl.Tag
      Next ctl
    End Sub
     
    Private Sub Form_Current()
      Dim ctl As Control
      Dim tSplit() As String
      'Rétablir les propriétés d'origine
      For Each ctl In Me.Section("Détail").Controls
        tSplit = Split(ctl.Tag, "|")
        ctl.Top = tSplit(0)
        If tSplit(1) = "À cacher" Then ctl.Visible = True
        'Et s'il faut cacher
        If Me.ccMontrer = False Then
            Select Case tSplit(1)
              Case "À cacher"
                ctl.Visible = False
              Case "À remonter"
                ctl.Top = tSplit(0) - lHauteurZone
            End Select
        End If
      Next ctl
    End Sub
     
    Private Sub ccMontrer_AfterUpdate()
      Call Form_Current
    End Sub

    Résultat



    Fichiers attachés Fichiers attachés
    SVP ne m'envoyez pas de messages privés pour poser des questions techniques, vous n'aurez pas de réponse !

  9. #9
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut
    Merci. Je crois que je vais utiliser quelque chose qui ressemble à ça. Comme je regrette de ne pas pouvoir faire ça en Web !
    Christophe

    Pensez à mettre quand c'est le cas.

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

Discussions similaires

  1. Regrouper des lignes en les combinant
    Par Pozoro dans le forum Débutez
    Réponses: 4
    Dernier message: 26/05/2010, 10h56
  2. calculer des combinaisons et les afficher
    Par chahinerue6 dans le forum Langage
    Réponses: 8
    Dernier message: 16/04/2010, 02h38
  3. [MySQL] Classer des résultats et les afficher
    Par baggie dans le forum PHP & Base de données
    Réponses: 27
    Dernier message: 30/11/2009, 09h10
  4. [XL-2007] CheckBox ou Listbox pour sélectionner des critères et les afficher dans une autre feuille
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 19/08/2009, 15h19
  5. Réponses: 8
    Dernier message: 23/07/2007, 08h51

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