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 :

évenement OptionButton


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 42
    Par défaut évenement OptionButton
    bonjour
    J'ai crée une UsrForm avec 3 OptionButton et 1 bouton de commande 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
     
    Private Sub CommandButton1_Click()
        Unload choix_guide
    End Sub
    Private Sub OptionButton1_Click()
        nom_equipement = OptionButton1.Caption
    End Sub
    Private Sub OptionButton2_Click()
        nom_equipement = OptionButton2.Caption
    End Sub
    Private Sub OptionButton3_Click()
        nom_equipement = OptionButton3.Caption
    End Sub
    Cette UserForm apparait plusieurs fois dans le programme j'ai donc fait en sorte que l'UserForm se réouvre comme l'UserForm précédente.
    Le problème c'est comme l'évenement des OptionButton est un clic si l'utilisateur ne modifie pas la croix (ne clique pas) car il a besoin du même équipement et qu'il clique directement sur le bouton de commande ça ne prend pas en compte son choix.

    La variable nom_équipement à changer par rapport à la fois précedente.
    Comment puis-je faire que à la place d'un évenement clique ça prend juste la valeur cochée??

    En espérant mettre bien fait comprendre

  2. #2
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 364
    Par défaut
    Bonsoir,

    ...j'ai donc fait en sorte que l'UserForm se réouvre comme l'esprécédente...
    Comment ?
    Si tu utilises "Unload choix_guide", l'Usf se vide mais si tu sors par "choix_guide.Hide", tu gardes la dernière configuration au prochain affichage.

  3. #3
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 42
    Par défaut événement Option Button
    Pour garder en mémoire l'UserForm précédente j'avais utilisé les fonctions SaveSetting et GetSetting qui fonctionne bien.
    Mon problème est plutot au niveau de l'événement "click" des OptionButton.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    Citation Envoyé par manouk Voir le message
    Le problème c'est comme l'évenement des OptionButton est un clic si l'utilisateur ne modifie pas la croix (ne clique pas) car il a besoin du même équipement et qu'il clique directement sur le bouton de commande ça ne prend pas en compte son choix.
    Je n'ai rien compris à cette phrase, qui me semble pourtant décrire ton problème...

  5. #5
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 42
    Par défaut
    Je vais essayer de mieux m'expimer.
    En fait j'ai une UserForm dont une optionbutton est déja cocher. Donc je veux sans avoir à recliquer sur la case déja cocher que nom_équipement prenne la valeur de l'OptionButton.

    Par exemple si OptionButton 1 est coché quand l'UserForm s'ouvre. L'utilisateur est content de se choix il clique donc directement sur le bouton de commande (OK). Et la je veux que ça prenne en compte se choix (nom_equipement = nom de l'optionbutton) mais comme on clique pas sur l'Option ça ne marche pas .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub OptionButton1_Click()
        nom_equipement = OptionButton1.Caption
    End Sub

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    Dans ce cas, si tu coches ton optionbutton, il faut que tu verrouilles ta zone de saisie.

  7. #7
    Membre éclairé Avatar de zandru
    Homme Profil pro
    Ingénieur conception mécanique
    Inscrit en
    Mars 2008
    Messages
    507
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 507
    Par défaut
    Bonjour,

    ce ne serait pas plus simple de tester les valeurs des optionbuttons après avoir clické sur le bouton ?

    Quelque chose de ce genre là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub CommandButton1_Click()
        Dim opb As Control
        For Each opb In Me.Controls
        If opb.Value = True And TypeOf opb Is OptionButton Then nom_equipement = opb.Caption
        Next opb
        Unload choix_guide
    End Sub
    Pas testé donc à adapter ...

  8. #8
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 42
    Par défaut
    Désolé j'ai du mal à saisir ce que t'endend par vérouiller la zone de saisie.
    Est ce que tu peux m'expliquer à quoi ça consiste?

  9. #9
    Membre averti
    Inscrit en
    Juillet 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 42
    Par défaut Merci à tous
    Merci pour l'idée ça marche.
    J'ai par contre changé le code que voici si un jour ça aide quelqu'un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub CommandButton1_Click()
            If OptionButton1.Value = True Then
                nom_equipement = OptionButton1.Caption
            ElseIf OptionButton2.Value = True Then
                nom_equipement = OptionButton2.Caption
            ElseIf OptionButton3.Value = True Then
                nom_equipement = OptionButton3.Caption
            End If
        Unload choix_guide
    End Sub

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 12/05/2005, 08h16
  2. Réponses: 6
    Dernier message: 02/05/2005, 14h00
  3. [VB6]Initialiser une variable Static dans un évenement
    Par loverdose dans le forum VB 6 et antérieur
    Réponses: 16
    Dernier message: 20/01/2005, 14h57
  4. [VB.NET] Problème avec un OptionButton dans Excel 2003
    Par alfprod dans le forum Windows Forms
    Réponses: 3
    Dernier message: 09/09/2004, 13h40
  5. Réponses: 4
    Dernier message: 21/05/2004, 11h24

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