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 :

Mettre une Valeur dans un OptionBouton quand un autre OB est activé?


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Mettre une Valeur dans un OptionBouton quand un autre OB est activé?
    Bonjour je suis débutant, voici mon problème:
    j'ai 2 groupes de 2 option bouton. Lorsque je clique sur un option bouton du groupe 1, je voudrai remplir automatiquement un option bouton du groupe 2. Est ce possible?
    OB1, OB2 = groupe 1
    OB3, OB4 = groupe 2
    j'ai fais ce code mais ça ne fonctionne pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub OB1Click()
    If OB1 = True Then
    OB4 = True
    End If
    End Sub
    merci d'avance

  2. #2
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour et ouelcom

    Une petite question avant, tes OptionButton sont sur la feuille ou sur un UserForm ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 491
    Points : 542
    Points
    542
    Par défaut
    bonjour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub opt1_Click()
    opt4.Value = True
    End Sub

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    364
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Fring a raison de poser la question !
    Si les cases à option sont dans la feuille, qu'elle soient groupées ou non, une seule sera cochée.
    Dans ce cas, tu as peut-être intérêt à choisir des cases à cocher.

    Si elles sont dans un Userform et dans 2 Frames différentes alors ton code, simplifié par patbou, peut convenir.

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 537
    Points
    5 537
    Par défaut
    Bonjour,

    Juste pour le cas où, finalement, ce qui est recherché est une synchronisation dans les deux sens...

    1) je privilègierais une correspondance dans le même ordre des 2 côtés (OB1 avec OB3 et OB2 avec OB4)
    ce qui me permettrait d'écrire de manière plus agile, quelque chose du genre :

    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
    Private Sub OB1_Click()
     vasy ActiveControl
    End Sub
     
    Private Sub OB2_Click()
     vasy ActiveControl
    End Sub
     
    Private Sub OB3_Click()
     vasy ActiveControl
    End Sub
     
    Private Sub OB4_Click()
     vasy ActiveControl
    End Sub
     
    Private Sub vasy(ctrl As Control)
      Dim quid As Integer, couic As Integer
      quid = Val(Right(ctrl.Name, 1))
      Select Case quid
        Case Is < 3
         couic = 2
        Case Else
         couic = -2
       End Select
       Controls("OB" & (quid + couic)) = ctrl.Value
    End Sub

  6. #6
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Histoire de donner une réponse plus pointue, suite à tous les commentaires postés à date...

    J'écris mon raisonnement en pseudo-code...

    Code pseudo : 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
    Si les OptionButtons sont sur une feuille de calcul alors
        S'il s'agit de composants provenant de la barre d'outils Formulaires alors
            Pour éviter que les différents groupe d'options n'agisse comme un seul,
            après plusieurs tests et même si j'ai bien cru avoir trouvé un solution,
            Hé! bin non! c'est pas possible.
          Sinon s'il s'agit des OptionButton de la boîte d'outils Contrôles alors
            Il faut afficher la fenêtre Propriétés
            Répéter pour chaque groupe d'OptionButton
                Sélectionner tous les composants d'un groupe
                Attribuer une valeur (autre que celle par défaut) à la propriété GroupName.
                ou
                Les mettre dans un conteneur, un Frame, par exemple.
            'fin répétition
        'fin Si
      Sinon s'il s'agit d'OptionButton sur un UserForm alors
        Attribuer à chaque groupe d'OptionButton un GroupName 
        ou
        Les placer dans des conteneurs différents. Les Frames sont parfaits pour ça. 
    'fin Si

    Ceci dit... Question :

    Tu veux activer une option d'un autre groupe selon telle ou telle option activée dans le premier groupe ? J'ai bien compris ou je suis à côté de mes pompes ?

  7. #7
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci à tous pour vos réponses!
    J'ai trouvé la solution. Il fallait que j'indique la feuille où était situé mes option boutons. Car un groupe de option bouton faisait référence à un autre groupe de OB situé sur une autre feuille:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If OB1 = True Then
        Worksheets("Notes").OBBat3 = True

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

Discussions similaires

  1. Mettre une valeur dans un champ
    Par cjay974 dans le forum IHM
    Réponses: 1
    Dernier message: 07/07/2011, 18h42
  2. [XL-2003] Probleme pour mettre une valeur dans la cellule voulue
    Par tools dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 07/06/2011, 15h46
  3. Mettre une valeur dans un TEdit
    Par medkyl dans le forum Débuter
    Réponses: 4
    Dernier message: 09/11/2010, 14h20
  4. mettre une valeur dans une combobox
    Par lila23 dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 06/07/2009, 17h51
  5. Mettre une valeur dans un Set<? extends String>
    Par LGnord dans le forum Langage
    Réponses: 6
    Dernier message: 06/05/2008, 14h56

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