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 :

Rendre des onglets visibles avec une case à cocher


Sujet :

IHM

  1. #1
    Membre du Club
    Homme Profil pro
    fonctionnaire
    Inscrit en
    Janvier 2015
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : fonctionnaire

    Informations forums :
    Inscription : Janvier 2015
    Messages : 72
    Points : 43
    Points
    43
    Par défaut Rendre des onglets visibles avec une case à cocher
    Bonsoir(jour) à tous,

    Je cherche à rendre visibles des onglets à l'aide d'une case à cocher.
    J'ai trouvé ici comment rendre visible un sous formulaire.
    http://www.developpez.net/forums/d14...e-case-cocher/

    Mon problème est que ce n'est pas le sous formulaire que je veux faire disparaitre/afficher mais seulement certains onglets de ce sous formulaire.

    Merci à vous qui connaissez certainement la solution

  2. #2
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    Kintin bonjour


    Afin de rendre visible à non le premier onglet de ton sous formulaire, l'indice 0 correspond à la première page :

    https://msdn.microsoft.com/fr-fr/lib.../ff834668.aspx

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms![fprincipal]![sformulaire].Form![CtlOnglet].Pages(0).Visible = False
    jimbolion

  3. #3
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 383
    Points : 19 805
    Points
    19 805
    Billets dans le blog
    66
    Par défaut
    Bonjour,

    Si il s'agit d'un contrôle avec onglets et pour chaque onglet une page alors tu peux essayer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.CtlTab0.Pages(1).Visible = False
    Ce qui rend invisible l'onglet 2 de ton contrôle nommé "CtlTab0".

    edit: Trop tard jimmy tu as donné une solution complète

    Cdlt,

  4. #4
    Expert éminent
    Avatar de jimbolion
    Homme Profil pro
    Moulticien
    Inscrit en
    Janvier 2013
    Messages
    3 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Moulticien
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2013
    Messages : 3 150
    Points : 7 001
    Points
    7 001
    Billets dans le blog
    2
    Par défaut
    Denis,

    avec cette petite différence que toi tu utilises l'instance de classe (me) et moi la référence du formulaire. Donc ta technique reste plus juste si l'appel se fait au sein du formulaire lui même.

    Jimbolion

  5. #5
    Membre du Club
    Homme Profil pro
    fonctionnaire
    Inscrit en
    Janvier 2015
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : fonctionnaire

    Informations forums :
    Inscription : Janvier 2015
    Messages : 72
    Points : 43
    Points
    43
    Par défaut
    Bonjour et merci à vous,

    Je prends bonne note du code .pages(0)"Mais je ne trouve pas le nom de mon controle d'onglet (je les ai créé automatiquement en faisant glisser en mode page)

    En fait mon code ressemble à ceci : Me.[SF12-Navigation].Pages(0).Visible = False il me reste à trouver comment se nomme ce controle onglet.
    J'ai essayé avec le nom du bouton de navigation d'onglet, mais cela ne masque que l'icone du bouton d'onglet.

    Autre question, dans les codes (en général), quand doit on mettre un . ou un ! ? j'ai l'impression que les 2 fonctionnent.

    Merci d'avance

  6. #6
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 383
    Points : 19 805
    Points
    19 805
    Billets dans le blog
    66
    Par défaut
    Bonjour,

    Je me permet de répondre à tes questions bien que le code que tu cites est basé sur celui de jimbolion.

    En fait mon code ressemble à ceci : Me.[SF12-Navigation].Pages(0).Visible = False il me reste à trouver comment se nomme ce controle onglet.
    J'ai essayé avec le nom du bouton de navigation d'onglet, mais cela ne masque que l'icone du bouton d'onglet.
    Pour connaître le nom d'un objet sur ton formulaire, il faut afficher la feuille des propriétés à partir du ruban, et dérouler la liste en haut nommée "Type de sélection", pour rechercher un nom commençant par "ctlTab...".

    ...Autre question, dans les codes (en général), quand doit on mettre un . ou un ! ? j'ai l'impression que les 2 fonctionnent.
    Une classe une structure qui définit un type d'un objet, avec des propriétés et des méthodes, à partir de laquelle on de crée l'objet (l'instance de classe), dans ton cas le formulaire.

    Disons qu'avec le Me. cela te permet de lister les propriétés de la classe et de choisir la bonne sans erreur, tout est bien structuré et testé au moment de la compilation de ton code, tandis qu'avec le Me! tu ne vois rien des propriétés et pas d'erreur de signalée durant le débogage.

    Cdlt,

  7. #7
    Membre du Club
    Homme Profil pro
    fonctionnaire
    Inscrit en
    Janvier 2015
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : fonctionnaire

    Informations forums :
    Inscription : Janvier 2015
    Messages : 72
    Points : 43
    Points
    43
    Par défaut
    J'ai trouvé le nom du contrôle. je l'ai renommé en "CtlNav0"

    Mais il me lance le débogage : erreur d’exécution 438, propriété ou méthode non gérée par cet objet

    Forms![F11]![SF19].Form![CtlNav0].Pages(0).Visible = False
    je ne note pas Me. car j'ai besoin d'utiliser la formule à partir d'une case à cocher sur le Formulaire principal F11

    edit : je également essayer ce code, qui me semble pourtant correct Me.SF19.Form.CtlNav0.Pages(0).Visible = False

  8. #8
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 383
    Points : 19 805
    Points
    19 805
    Billets dans le blog
    66
    Par défaut
    En fait, "CtlNav0" semble être un contrôle de navigation, peut être utiliser la collection tabs de cet objet comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Forms![F11]![SF19].Form![CtlNav0].Tabs(0).Visible = False
    Ou alors ce n'est pas le bon contrôle...

  9. #9
    Membre du Club
    Homme Profil pro
    fonctionnaire
    Inscrit en
    Janvier 2015
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : fonctionnaire

    Informations forums :
    Inscription : Janvier 2015
    Messages : 72
    Points : 43
    Points
    43
    Par défaut
    C'est bien un controle de navigation.
    Mais le Tabs ne me masque que l'image de l'onglet, comme quand j'avais essayé en prenant le nom du bouton d'onglet.
    Il faudrait que cela me masque l’entièreté de l'onglet.

    Peut-être faut il indiquer également que l'onglet affiche le sous formulaire "SF19-D"

    ce code ci ne fonctionne pas Me.SF19.SF19_D.Visible = FalseMais merci quand meme, je m'y retrouve déjà un peu mieux

  10. #10
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 383
    Points : 19 805
    Points
    19 805
    Billets dans le blog
    66
    Par défaut
    Citation Envoyé par Kintin Voir le message
    C'est bien un controle de navigation.
    Mais le Tabs ne me masque que l'image de l'onglet, comme quand j'avais essayé en prenant le nom du bouton d'onglet.
    Il faudrait que cela me masque l’entièreté de l'onglet.

    Peut-être faut il indiquer également que l'onglet affiche le sous formulaire "SF19-D"

    ce code ci ne fonctionne pas Me.SF19.SF19_D.Visible = FalseMais merci quand meme, je m'y retrouve déjà un peu mieux
    Peut-être faudrait-il préciser que dans un contrôle onglet comportant 1 sous-formulaire sur chaque onglet, les pages inactives du contrôle sont juste masquées mais les sous-formulaires placés sur ces pages restent en mémoire, on peut d'ailleurs y faire référence même s'il ne sont pas sur l'onglet actif. Par contre, sur un contrôle de navigation les sous-formulaires sont chargés l'un après l'autre dans la zone "sous-formulaire / sous-état".

    Cdlt,

  11. #11
    Membre du Club
    Homme Profil pro
    fonctionnaire
    Inscrit en
    Janvier 2015
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : fonctionnaire

    Informations forums :
    Inscription : Janvier 2015
    Messages : 72
    Points : 43
    Points
    43
    Par défaut
    Ok, merci, j'ai compris, je vais recréer un contrôle onglet à la place du contrôle navigation. Je ne connaissais pas la différence entre les 2. J'essaye ça demain soir.

    EDIT : Voilà avec le contrôle onglet ça fonctionne parfaitement... Un grand merci !!!

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

Discussions similaires

  1. Supprimer les éléments sélectionnés avec une case à cocher
    Par keishah dans le forum PHP & Base de données
    Réponses: 19
    Dernier message: 16/08/2007, 15h38
  2. Probleme avec une case à cocher
    Par loréline dans le forum GTK+ avec C & C++
    Réponses: 12
    Dernier message: 22/04/2007, 19h24
  3. liste déroulante avec une case à cocher et une image
    Par kurul1 dans le forum C++Builder
    Réponses: 4
    Dernier message: 08/03/2007, 09h54
  4. Etat avec une case à cocher sur une requête difficile
    Par marcoO dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 10/01/2007, 14h21
  5. Affichage de nouveau champ de formulaire avec une case à cocher
    Par breizhgen dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/09/2006, 21h46

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