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 :

OptionButton(s) - Maintenir la Value au changement d'état [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut OptionButton(s) - Maintenir la Value au changement d'état
    Bonjour à tous,
    Quelqu'un pourra t-il m'aider.
    Dans un UserForm, J'ai un groupement dans un Frame de trois boutons d'option. L'un est coché par défaut. J'ai créé un bouton RAZ pour enlever la valeur True de l'un pour le mettre à l'autre (pour deux boutons d'option seulement).
    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub RAZ_Click()
         OptionButton1.Value = False
         OptionButton2.Value = True
        End Sub
    Mais comment faire pour maintenir la nouvelle valeur True à l'autre bouton d'option, ce qui éviterait à chaque fois de cliquer sur ce bouton pour lui faire prendre la valeur TRUE ?
    Merci pour vos compétences et votre disponibilité.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonsoir Bipemn, bonsoir le forum,

    Je n'ai pas compris ce que tu voulais faire. Si tu veux qu'au départ aucune option ne soit cochée, il te faut attribuer à la propriété [Value] de l'OptionButton1 la valeur False.
    • Si tu veux réinitialiser comme dans ton exemple en redonnant la valeur True à l'OptionButton1 une seule ligne suffit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub RAZ_Click()
    OptionButton2.Value = True
    End Sub
    • si tu veux réinitialiser avec aucune option cochée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub RAZ_Click()
    OptionButton1.Value = false
    OptionButton2.Value = false
    OptionButton3.Value = false
    End Sub
    • si tu veux pouvoir attribuer la valeur True à deux boutons d'option il te faut différencier leur groupe avec la propriété [GroupName]. Mais dans ce cas des cases à cocher seraient peut-être mieux adaptées
    À plus,

    Thauthème

    Je suis Charlie

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Février 2015
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur commercial

    Informations forums :
    Inscription : Février 2015
    Messages : 118
    Points : 178
    Points
    178
    Par défaut
    Bonjour,

    Tu peux utiliser une cellule inutilisée pour mémoriser la dernière valeur utilisée (sachant que bouton1 = pas bouton 2).

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    En fait, j'ai donné la valeur True par défaut à l'optionButton1 (P). Mais lorsque je vais passer à l'OptionButton2(R) je veux qu'il reste par défaut, donc sans avoir à cliquer dessus à chaque fois.

  5. #5
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Je fais une grève de réponse.

    UserForm_initialize

    Ou dans l'aide de VBA:

    SaveSettings et getsettings

    open "conserve.txt" for output as 1 et open "conserve.txt" for input as 1

    Ou dans l'Api Windows, les fichiers .ini

    Pour comprendre, voir là:

    http://www.developpez.net/forums/d84...s-discussions/
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  6. #6
    Membre chevronné
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 036
    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 036
    Points : 1 917
    Points
    1 917
    Billets dans le blog
    5
    Par défaut
    Bonjour,
    Petite orientation à bipemn.
    Si je comprends ce que tu veux, il te faut faire un groupe séparé pour chaque option, ce qui n'est pas un choix pertinent en utilisant que deux OptionButton qui s'entendent comme une option dans un groupe d'options, des CheckBox qui sont des choix à cocher seraient mieux.
    Ousmane


    Quand on tombe dans l'eau, la pluie ne fait plus peur.

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Ok pour le code :
    J'avais trouvé :

    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
    Private Sub RAZ_Click()
     Range("R2") = ""
     End Sub
     
     
    Private Sub UserForm_Initialize()
     If Range("R2") = "oui" Then
            OptionButton1.Value = True
        End If
     
        If Range("R2") = "non" Then
            OptionButton2.Value = True
        End If
    End Sub
    Sub OptionButton1_Click() 'N°1
       If OptionButton1.Value = True Then 'Si coché ...
           Sheets("Feuille de présence").Range("R2") = "oui"
        Else 'Si non coché ...
           Sheets("Feuille de présence").Range("R2") = "non"
        End If
    End Sub
    Sub OptionButton2_Click() 'N°2
       If OptionButton2.Value = False Then 'Si coché ...
           Sheets("Feuille de présence").Range("R2") = "oui"
        Else 'Si non coché ...
           Sheets("Feuille de présence").Range("R2") = "non"
        End If
    End Sub
    Mais la solution d'un VBAiste ! est parfaite ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_Initialize()
        Me.Controls("OptionButton" & Range("R1").Value) = True
    End Sub
    Merci encore à tous.

  8. #8
    Membre chevronné
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 036
    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 036
    Points : 1 917
    Points
    1 917
    Billets dans le blog
    5
    Par défaut
    Salut,
    Citation Envoyé par bipemn Voir le message
    Ok pour 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
    16
     
    Sub OptionButton1_Click() 'N°1
       If OptionButton1.Value = True Then 'Si coché ...
           Sheets("Feuille de présence").Range("R2") = "oui"
        Else 'Si non coché ...
           Sheets("Feuille de présence").Range("R2") = "non"
        End If
    End Sub
     
    Sub OptionButton2_Click() 'N°2
       If OptionButton2.Value = False Then 'Si coché ...
           Sheets("Feuille de présence").Range("R2") = "oui"
        Else 'Si non coché ...
           Sheets("Feuille de présence").Range("R2") = "non"
        End If
    End Sub
    ...
    Pfff... Les signalisations semblent inutiles avec certains chauff...
    Je ne peux m'empêcher de me demander pourquoi une telle obstination à la surcharge ?
    Un seul CheckBox à la propriété ControlSource liée à Range("R2") suffit à t'épargner les 2 codes OptionButtonX_Click() et un contrôle de moins sur ta boîte de dialogue ...
    Ousmane


    Quand on tombe dans l'eau, la pluie ne fait plus peur.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/09/2007, 12h04
  2. changement d'état d'un bouton
    Par steph6499 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/04/2007, 16h31
  3. [VBA-E] changement d'état d'un formulaire
    Par ooyeah dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 19/03/2007, 09h54
  4. Réponses: 4
    Dernier message: 08/01/2007, 14h48
  5. Pourcentage de changement d'état
    Par Krispy dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 03/04/2006, 16h42

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