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

Access Discussion :

Bouton bascule


Sujet :

Access

  1. #1
    Membre actif
    Avatar de GAGNON
    Inscrit en
    Septembre 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 201
    Points : 201
    Points
    201
    Par défaut Bouton bascule
    Salut à tous

    je cherche le moyen pour mettre en gras le texte d'un bouton bascule positionné avec d'autres dans un cadre d'option:

    celui qui est "enfoncé" en gras les autres "pas en gras"

    En fait je n'arrive pas à isoler le bouton enfoncé.
    j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim ctl As Control
     
    For Each ctl In Me.CadreSite.Controls
        if Me.CadreSite.Controls(ctl). IS_ENFONCE then   ?????
            Me.CadreSite.Controls(ctl). .FontBold = True
          else
            Me.CadreSite.Controls(ctl). .FontBold = False
        end if
    Next
    C'est sans doute super simple, mais bon

    merci par avance de votre aide
    La pensée n'est qu'un éclair au milieu de la nuit. Mais c'est cet éclair qui est tout.
    Henri Poincaré

  2. #2
    Membre éclairé
    Avatar de m-mas
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2003
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2003
    Messages : 576
    Points : 719
    Points
    719
    Par défaut
    déja le bouton va être enfoncer aprés un click (tu clique et il reste enfoncé ? comment tu l'enfonce déja ?) et donc sur l'évenement click de ce bouton, tu change son apparence.
    mon blog http://www.3click-solutions.com/actualites/

    MCP VB.NET (70-305) - (70-306) - (70-310)
    Développeur PHP / Wordpress

  3. #3
    Membre actif
    Avatar de GAGNON
    Inscrit en
    Septembre 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 201
    Points : 201
    Points
    201
    Par défaut
    certe, mais j'ai quand même quelques boutons et répéter la même mise en forme pour chaque evnt clic, pour tous les boutons je trouve ça moyen.

    Je préférais la solution d'un test sur l'evnt cadreOption_click et mettre en forme tous les boutons en même temps.

    La pensée n'est qu'un éclair au milieu de la nuit. Mais c'est cet éclair qui est tout.
    Henri Poincaré

  4. #4
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Tu peux procéder ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub fraChoix_AfterUpdate()
      Bascule1.FontBold = (Me!fraChoix = 1)
      Bascule2.FontBold = (Me!fraChoix = 2)
      Bascule3.FontBold = (Me!fraChoix = 3)
      Bascule4.FontBold = (Me!fraChoix = 4)
      '*** Basculexxx..FontBold = (Me!fraChoix = Index...)
     
    End Sub
    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  5. #5
    Membre actif
    Avatar de GAGNON
    Inscrit en
    Septembre 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 201
    Points : 201
    Points
    201
    Par défaut
    en effet je vais essayer de m'inspirer de ton code.
    Mais j'aurai aimé trouvé le moyen de savoir si la bascule_n était enfoncé ou non :
    La pensée n'est qu'un éclair au milieu de la nuit. Mais c'est cet éclair qui est tout.
    Henri Poincaré

  6. #6
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Libre à toi de te compliquer la vie.
    Tu sais, quand je peux mettre 4 lignes de code au lieu de 50, je ne me gêne pas
    La bascule possède l'état "enfoncé" quand la cadre d'option possède la même valeur que la bascule sélectionnée.
    Pour cet exemple, la bascule possède une valeur, c'est cette valeur qui est exploitée.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  7. #7
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    je pensais qu'une solution de ce type pouvait fonctionner (non testé)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim ctl As Control
    For Each ctl In Me.Controls
        If ctl.ControlType = acToggleButton Then
            If ctl.Value = -1 Then
                    ' met le code que tu veux ...
            End If
        End If
    Next ctl
    Set ctl = Nothing
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  8. #8
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Oui, cafeine, cela pourrait fonctionner mais cela oblige un parcours récursif de l'ensemble des contrôles...
    Ce que j'ai proposé est on ne peut plus simple;
    Ta procédure pourrait être intéressante si plusieurs groupes d'options sont concernés et si cette dernière est plus générique.
    En plus, on doit y ajouter dans le code la vérification du nom du contrôle sollicité et affecter cette procédure à chacun des contrôles "bascule" plutôt qu'au cadre lui-même...
    Du fait qu'un contrôle bascule en lui-même n'a que très peu de propriétés événementielles et que la propriété Value ne peut être évaluée, il me semble difficile d'envisager cette piste.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  9. #9
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Si si, un contrôle ToggleButton a bien une .Value

    Null si jamais cliqué
    0 si relaché
    -1 si enfoncé
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  10. #10
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub TestBascule()
    Dim ctl As Control
      For Each ctl In Me.Controls
          If ctl.ControlType = acToggleButton Then
              If ctl.Value = -1 Then
                      ' met le code que tu veux ...
              End If
          End If
      Next ctl
      Set ctl = Nothing
    End Sub
    Humm, au pas à pas, ctl.value lève une erreur 2427 (Expression sans paramètre)...
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  11. #11
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    c'est vraiment étrange ... mais pour les besoins de la cause, j'ai créé un formulaire avec six bascules et un bouton de commande cmdView dont 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
    13
    14
    15
    Private Sub cmdView_Click()
     
    Dim str As String
    Dim ctl As Control
    For Each ctl In Me.Controls
        If ctl.ControlType = acToggleButton Then
            If ctl.Value = -1 Then
                str = str & ctl.name & " - "
            End If
        End If
    Next ctl
    Set ctl = Nothing
    MsgBox str
     
    End Sub
    Et ça marche ...

    PS : je suis sous Access 2000
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  12. #12
    Membre actif
    Avatar de GAGNON
    Inscrit en
    Septembre 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 201
    Points : 201
    Points
    201
    Par défaut
    exact, j'avais déjà essayé et j'ai aussi cette erreur=2427

    Cafeine, tes boutons sont-ils encapsulés dans un cadre d'option
    je ne sais pas si cela peu avoir une conséquence directe sur notre sujet, mais sait-on jamais !!

    La pensée n'est qu'un éclair au milieu de la nuit. Mais c'est cet éclair qui est tout.
    Henri Poincaré

  13. #13
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    ils ne le sont pas ... le problème doit probablement venir de là ...
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  14. #14
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Bon on finit par y arriver ...

    alors, j'ai créé les bascules dans un cadre appelé fraMain

    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
    Private Sub Form_Load()
     
       Me.fraMain.OnClick = "=MetEnGras()"
     
    End Sub
     
    Private Function MetEnGras()
     
    Dim ctl As Control
    For Each ctl In Me.Controls
        If ctl.ControlType = acToggleButton Then
            ctl.FontBold = (Me.fraMain = ctl.OptionValue)
        End If
    Next ctl
    Set ctl = Nothing
     
    End Function
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  15. #15
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Oui en fait, l'erreur 2427 est levée du fait qu'on lance la procédure depuis l'événement lui même...
    Or, cafeine le lance depuis un autre événement ce qui est embêtant puisque, l'effet Gras n'aura lieu que lors du Form_Load()

    Donc, je reviens sur ma 1ère proposition qui reste de loin la plus efficace et evite toutes ces tentatives de For Each... et ces lignes de code.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  16. #16
    Membre actif
    Avatar de GAGNON
    Inscrit en
    Septembre 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 201
    Points : 201
    Points
    201
    Par défaut
    ok, puisque tu insistes ...

    le .fontbold prends les valeurs False & True

    donc ma question devient : peux-tu me re-expliquer ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '*** Basculexxx..FontBold = (Me!fraChoix = Index...)
    car il faut toujours déterminer quelle bascule est shootée afin de la mettre en gras et ne pas mettre en gras tous les autres.
    La pensée n'est qu'un éclair au milieu de la nuit. Mais c'est cet éclair qui est tout.
    Henri Poincaré

  17. #17
    Membre actif
    Avatar de GAGNON
    Inscrit en
    Septembre 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 201
    Points : 201
    Points
    201
    Par défaut
    ATTENDS

    je viens de tester la soluce de Cafeine dans l'evnt OnClick de mon cadre d'option et je ne rencontre pas d'erreur !!

    cela me va ...
    La pensée n'est qu'un éclair au milieu de la nuit. Mais c'est cet éclair qui est tout.
    Henri Poincaré

  18. #18
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Citation Envoyé par argyronet
    Oui en fait, l'erreur 2427 est levée du fait qu'on lance la procédure depuis l'événement lui même...
    Or, cafeine le lance depuis un autre événement ce qui est embêtant puisque, l'effet Gras n'aura lieu que lors du Form_Load()

    Donc, je reviens sur ma 1ère proposition qui reste de loin la plus efficace et evite toutes ces tentatives de For Each... et ces lignes de code.

    Argy


    non mon code sur l'événement Load ne fait qu'attribuer dynamiquement une fonction à l'événement Click du Frame.
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  19. #19
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 123
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 123
    Points : 12 169
    Points
    12 169
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par GAGNON
    ok, puisque tu insistes ...
    Non, ne crois pas cela... Juste un peu
    Citation Envoyé par GAGNON
    donc ma question devient : peux-tu me re-expliquer ton code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '*** Basculexxx..FontBold = (Me!fraChoix = Index...)
    car il faut toujours déterminer quelle bascule est shootée afin de la mettre en gras et ne pas mettre en gras tous les autres.
    La réponse est contenue dans la question:
    1/ Tes controles possèdent des noms.
    2/ Ils renvoient une valeur (de 1 à n bascules dans ton cadre)
    3/ Cette valeur est comparée à la valeur du cadre d'option et renvoie True ou False, état que tu souhaites pour la mise en gras.

    Argy
    Ce qui donne son sens à la communication, c´est la réponse que l´on obtient. Si vous n´obtenez pas la réponse voulue, communiquez différemment.

    Ils comptent sur vous...
    Web Site@Mail
    Tutoriels : Déployez vos applications Access 2010 à 2019 */* Réalisez un Assistant de présaisie...
    MDB Viewer : Visionneuse Access v4.0
    *** Je recherche des profils (2 ans min.) Java EE, Fullstack, Front, .Net, Mobile... pour CDI ***

  20. #20
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    en même temps si mon code marche ... peut-on passer le sujet en [Résolu] ?
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 4
    Dernier message: 31/07/2006, 16h18
  2. Réponses: 2
    Dernier message: 20/06/2006, 15h41
  3. Réponses: 7
    Dernier message: 13/06/2006, 09h12
  4. Bouton bascule
    Par Yohann_x dans le forum Access
    Réponses: 4
    Dernier message: 23/01/2006, 00h35
  5. 4 boutons bascules, 1 seul valide
    Par EE dans le forum Access
    Réponses: 2
    Dernier message: 28/10/2005, 18h26

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