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

Macros et VBA Excel Discussion :

Propriétés de sélection de CheckBox et OptionBoutton [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2013
    Messages : 46
    Par défaut Propriétés de sélection de CheckBox et OptionBoutton
    Bonjour

    j'ai programmé plusieurs éléments (3) à cocher dans une frame.

    J'aimerai que l'utilisateur puisse en choisir soit 0 soit 1.

    Ma première idée était d'utiliser des OptionButtons pour leur propriétés de sélection unique. le problème est que l'optionButton ne permet pas le décochage.

    L'idée d'utiliser une CheckBox permet le décochage mais je n'arrive pas à lier le cochage d'une case au décochage des autres car la mise a jour de la CheckBox entraine l'appel de la fonction qui entraine la MAJ de la CB...

    Mes CheckBoxes sont toutes numérotées dans une Collection appelée listCB

    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
    Private Sub NewCheckbox_Click()
     
    Select Case NumBout
     
    Case 1
    listCB.Item(1).NewCheckbox = True
    listCB.Item(2).NewCheckbox = False
    listCB.Item(3).NewCheckbox = False
     
    Case 2
    listCB.Item(1).NewCheckbox = false
    listCB.Item(2).NewCheckbox = true
    listCB.Item(3).NewCheckbox = False
     
    Case 3
    listCB.Item(1).NewCheckbox = False
    listCB.Item(2).NewCheckbox = False
    listCB.Item(3).NewCheckbox = true
     
    End Select
     
     
    End Sub
    Si quelqu'un à une idée pour pouvoir combiner les propriétés d'unicité de l'optionbouton et de décochage de la checkbox, merci


    EB

  2. #2
    Membre émérite Avatar de keygen08
    Homme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Octobre 2012
    Messages : 545
    Par défaut
    Bonsoir

    Soit 3 checkbox dans un frame sur un userform
    Puis le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub checkbox1_afterupdate()
     CheckBox2.Value = False
     CheckBox3.Value = False
    End Sub
     
    Private Sub checkbox2_afterupdate()
     CheckBox1.Value = False
     CheckBox3.Value = False
    End Sub
     
    Private Sub checkbox3_afterupdate()
     CheckBox1.Value = False
     CheckBox2.Value = False
    End Sub
    Donne, je crois, le résultat escompté.

  3. #3
    Membre émérite
    Inscrit en
    Décembre 2006
    Messages
    897
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 897
    Par défaut Bonsoir Wini29, keygen08
    Si ça peut convenir...

    1. pour décocher une case à cocher, il faut mettre la propriété "TripleState" à "True" puis
    2. Mettre "" (vide) dans la propriété "Value" de la case à cocher.


    ESVBA

  4. #4
    Membre extrêmement actif
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur Système/Réseaux - Developpeur - Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 037
    Billets dans le blog
    5
    Par défaut
    bonsoir,

    Ma première idée était d'utiliser des OptionButtons pour leur propriétés de sélection unique. le problème est que l'optionButton ne permet pas le décochage.
    Tu peux gérer le "décochage" de l'OptionButton en gérant le click par un test de la propriété Value.

    Comme suggéré dans ton post "outil de selection multti...", utiliser une ListBox pour une série d'option est parfois plus pratique
    Les propriétés pour:
    changer l'affichage de la liste en OptionButton ou Checkbox en fonction de la propriété MultiSelect
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .ListStyle = fmListStyleOption
    affichage ordinaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .ListStyle = fmListStylePlain
    affichage optionButton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     .MultiSelect = fmMultiSelectSingle
    chekbox permettant plusieurs selections
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .MultiSelect = fmMultiSelectMulti
    chekbox ne permettant qu'une selection
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .MultiSelect = fmMultiSelectExtended
    La propriétérenvoi la valeur True ou False d'un élément. Propriété en Lecture/Ecriture.

  5. #5
    Membre émérite
    Inscrit en
    Décembre 2006
    Messages
    897
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 897
    Par défaut Bonjour,
    en relisant le 1 post, si le problème est l'activation d'évènements non voulu, il y a deux possibilités :

    1. Interdire l'exécution d'évènement (à désactiver avant le code puis à réactiver)
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Application.EnabledEvents = True/False
    2. L'utilisation d'une variable globale (ou static cas), d'affecter sa valeur au premier lancement et de faire un test dans la bonne boucle.

    ESVBA

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2013
    Messages : 46
    Par défaut
    Bonjour à tous et merci de vos réponses.

    Malheureusement, je n'ai toujours pas réussi à trouver de solution "satisfaisante" à mon souci.

    - La solution de keygen08 est fonctionne mais la fonction de callback de mes optionbuttons/checkboxes est unique (les boutons sont différenciés par leur propriétés (numéros))

    -L'utilisation de listboxes me ramène au problème de décochage+ au fait que mes listboxes devraient être liés entre elles ce qui ferait un joli sac de noeuds (je pense)

    - enfin, l'utilisation De EnableEvents (ou de Triplestate) me semblait la meilleure solution mais n'empêche pas la fonction de s'auto-appeler dès la MAJ d'un des boutons (je pense que je l'utilise mal)

    merci encore de vos réponses.

    EB

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

Discussions similaires

  1. [XL-2003] Sélection et CheckBox
    Par etorria dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/10/2009, 22h23
  2. Affecter la valeur Null à la propriété Checked d'un CheckBox
    Par helmis dans le forum Composants VCL
    Réponses: 7
    Dernier message: 06/06/2008, 11h29
  3. [DOM] Propriété inaccessible de tableau checkbox
    Par riete dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 13/03/2008, 17h16
  4. Réponses: 11
    Dernier message: 10/04/2007, 07h02
  5. Sélection de checkbox
    Par frogs dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 22/02/2005, 14h49

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