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 :

bouton d'option a 3 choix.


Sujet :

IHM

  1. #1
    Membre habitué Avatar de Jazz_
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 290
    Points : 190
    Points
    190
    Par défaut bouton d'option a 3 choix.
    Bonjour a tous,

    Depuis que j'ai compris qu'un bouton d'option (Le petit bouton rond) pouvais contenir 3 valeurs differente a savoir:
    - 1
    - 0
    - Null
    J'aimerais, trouver un moyen de le faire changer de valeur dans l'ordre suivant,
    quand le bouton est sur 0 le clic le met a 1,
    quand le bouton est a 1 le clic le met a Null,
    quand le bouton est a Null le clic le met a 0.

    alors, depuis l'editeur VBA , j'ai essayé des methodes avec un static integer.
    Ca fonctionne mais ca ne me convient pas. Mon formulaire est construit d'une telle maniere que cette methode genere des incoherences. (Ses incohenrence serais resolvable avec l'utilisation de globales a la place des static, mais avant d'en venir la, je cherche une methode plus "classe")

    Donc je voulais savoir, existe-til un moyen dans les proprietée ou je ne sais pas pour specifier que l'on souhaite qu'un bouton d'option prenne successivement les valeurs 0, 1 , Null et non seulement 0 et 1.

    Merci pour toute reponse!

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 122
    Points : 172
    Points
    172
    Par défaut
    Salutations,

    Je viens de coder un bouton pour modifier un composant de type choix d'option de la manière que tu explique. Voici ce que cela donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub Bt_Action_Click()
     
    'Br_test1 est le bouton radio
    If IsNull(Me.Br_test1) Then
        Me.Br_test1 = 0
    ElseIf Me.Br_test1 = 0 Then
        Me.Br_test1 = 1
    Else
        Me.Br_test1 = Null
    End If
     
    End Sub
    Après il faut compléter et adapter en fonction des besoins. Petit point pour attention : Lorsque le bouton se retrouve à null les actions possibles sont plus restreintes à cause de la bonne vieille erreur "Utilisation incorrecte de null"

    En espérant que cela fasse avancer le sujet

    Cordialement,

  3. #3
    Membre habitué Avatar de Jazz_
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 290
    Points : 190
    Points
    190
    Par défaut
    Re,

    Merci pour ta reponsse, je relie ton code, et est ce que tu est sur que ca marche, je ne pense pas que cela peut marcher, car la valeur de Br_test1 sur l'evenement clic est celle justement aprés le clic.

    Je crois qu'on est dans un cercle vicieux.
    Si l'on pose le bouleen a Null de base dans le form.

    Clic, il prend la valeur 1 , passe dans le bloc if/elseif/else et ressort avec la valeur Null. Pas de changements.

    Si on le pose avec la valeur de 0 dans le form.

    Clic, il prend la valeur 1, Passe dans le bloc if/else/elseif ressort avec la valeur Null.Et on est a nouveaux dans la boucle d'au dessus.

    si on le pose avec la valeur 1 dans le form,

    clic, Prend la valeur zero, Passe dans le bloc If/else/elseif dessort avec la valeur 1. On est encore bouclé.

    Merci quand meme !

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 122
    Points : 172
    Points
    172
    Par défaut
    Re,

    Alors je te confirme que le code donné avant semble fonctionner.
    Pour m'en assurer j'ai ajouter la ligne Msgbox Me.Br_Test1 avant et après le If.

    La valeur renvoyée par la première boite de dialogue est la valeur avant clic et celle de la seconde boite de dialogue est la valeur après clic.

    Petit rappel au cas où je me sois mal exprimé dans mon post précédent. Ce n'est pas le bouton radio qui est codé sur évènement clic mais un bouton de commande distinct.

    Cordialement,

  5. #5
    Membre habitué Avatar de Jazz_
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 290
    Points : 190
    Points
    190
    Par défaut
    Re,

    Ah oui d'accord j'ai saisi ! J'avais mal lu le nom de la sub.
    Merci de ta reponsse.
    Mais du coup ca ne regle toujours pas mon problemme.

  6. #6
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 716
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 716
    Points : 57 359
    Points
    57 359
    Billets dans le blog
    42
    Par défaut
    bonjour,

    Citation Envoyé par Jazz_ Voir le message
    Donc je voulais savoir, existe-til un moyen dans les proprietée ou je ne sais pas pour specifier que l'on souhaite qu'un bouton d'option prenne successivement les valeurs 0, 1 , Null et non seulement 0 et 1.
    Dans les propriétés du bouton d’option (onglet Données), il y a effectivement une propriété "Triple état" qu’il faut mettre à "Oui".
    (en VBA : OptionButton.TripleState, propriété)

  7. #7
    Membre habitué Avatar de Jazz_
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 290
    Points : 190
    Points
    190
    Par défaut
    Voila !

    Parfait merci ! C'est ce que je cherchais !

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

Discussions similaires

  1. [AC-2010] Problème de choix multiples avec boutons d'options.
    Par Axe_Débutant dans le forum VBA Access
    Réponses: 2
    Dernier message: 13/03/2015, 10h59
  2. Boutons d'options, trois choix possibles? Merci de votre aide
    Par Vincent23 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/08/2008, 18h22
  3. boutons d'option
    Par Djekill dans le forum Access
    Réponses: 6
    Dernier message: 15/11/2005, 16h11
  4. Modifier une requête en fonction de boutons d'option
    Par JahRastafari dans le forum Access
    Réponses: 17
    Dernier message: 15/06/2005, 13h42
  5. [MFC] bouton avec option "accept files"
    Par bigboomshakala dans le forum MFC
    Réponses: 4
    Dernier message: 23/06/2004, 16h15

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