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

VBA PowerPoint Discussion :

Boutons d'option : séparer les choix ?


Sujet :

VBA PowerPoint

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur mateur
    Inscrit en
    Janvier 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur mateur

    Informations forums :
    Inscription : Janvier 2016
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Boutons d'option : séparer les choix ?
    Bonjour,

    J'aimerais faire fonctionner plusieurs "listes" de boutons d'option de manière indépendante.
    Dans l'image que je vous joins en fin de message, je cherche à ce que :
    - Lorsqu'on clique sur CommandButton1, l'action enclenchée dépende du choix fait entre les OptionButtons 1 et 2 seulement ;
    - Lorsqu'on clique sur CommandButton2, l'action enclenchée dépende du choix fait entre les OptionButtons 3 et 4 seulement.

    Il faut donc que lorsque je sélectionne l'un des deux OptionButtons 1 ou 2 (que je veux "lier" au CommandButton 1), je puisse aussi sélectionner l'un des deux OptionButtons 3 ou 4 (que je veux "lier" au CommandButton 2).
    Or, en l'état actuel de mon PPT, ce n'est pas possible : je suis obligé de choisir entre les OptionButtons 1, 2, 3 et 4. On ne peut pas en sélectionner deux à la fois : un à gauche, sous le CommandButton1, et un à droite, sous le CommandButton2.
    Comment faire, donc, pour "séparer les choix" entre les options de gauche et celles de droite ?

    Sachant que mon code est le 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
    15
    16
    17
    18
    19
    20
    21
    Private Sub CommandButton1_Click()
    ActivePresentation.Slides(2).Shapes("Cadre_N°_Question").TextFrame.TextRange.Characters.Text = "1"
        If OptionButton1.Value = True Then
        ActivePresentation.Slides(2).Shapes("[Image Réponse]").Visible = True
        ActivePresentation.Slides(2).Shapes("[Image Réponse + Zoom]").Visible = False
        ElseIf OptionButton2.Value = True Then
        ActivePresentation.Slides(2).Shapes("[Image Réponse]").Visible = False
        ActivePresentation.Slides(2).Shapes("[Image Réponse + Zoom]").Visible = True
        End If
    End Sub
     
    Private Sub CommandButton2_Click()
    ActivePresentation.Slides(2).Shapes("Cadre_N°_Question").TextFrame.TextRange.Characters.Text = "2"
        If OptionButton3.Value = True Then
        ActivePresentation.Slides(2).Shapes("[Image Réponse]").Visible = True
        ActivePresentation.Slides(2).Shapes("[Image Réponse + Zoom]").Visible = False
        ElseIf OptionButton4.Value = True Then
        ActivePresentation.Slides(2).Shapes("[Image Réponse]").Visible = False
        ActivePresentation.Slides(2).Shapes("[Image Réponse + Zoom]").Visible = True
        End If
    End Sub
    Voici l'image d'illustration :
    http://zupimages.net/viewer.php?id=16/13/hubk.jpg

    Je vous remercie d'avance !
    Bon week-end.

  2. #2
    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
    Bonjour,

    Si tu mets tes boutons d'options dans deux frames différents, la modification des valeurs des boutons d'options ne porte que sur les boutons à l'intérieur du même frame, sans affecter ceux de l'autre frame.

    Si je me fie à ton image, tu remplaces des CommandButtons par deux Frames. Ensuite, il suffirait de cliquer sur un seul des boutons d'un seul frame, ou un seul des boutons de chaque frame.
    À 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.

  3. #3
    Candidat au Club
    Homme Profil pro
    Développeur mateur
    Inscrit en
    Janvier 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur mateur

    Informations forums :
    Inscription : Janvier 2016
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Merci pour ta réponse !
    Du coup il existe une autre solution que je ne connaissais pas : passer par les propriétés de chacun de OptionButtons et y spécifier un GroupName différent pour les boutons 1-2 et les boutons 3-4. Ainsi, les choix deviennent séparés !

    Mais pour parfaire le tout, j'aimerais placer mes OptionButtons dans la diapo 2 et les CommandButton correspondants dans la diapo 3. J'image qu'il faut pour cela modifier la ligne en gras du code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Private Sub CommandButton1_Click()
        If OptionButton1.Value = True Then
        ActivePresentation.Slides(3).Shapes("[Image Réponse]").Visible = True
        ActivePresentation.Slides(3).Shapes("[Image Réponse + Zoom]").Visible = False
        ElseIf OptionButton2.Value = True Then
        ActivePresentation.Slides(3).Shapes("[Image Réponse]").Visible = False
        ActivePresentation.Slides(3).Shapes("[Image Réponse + Zoom]").Visible = True
        End If
    End Sub
    Je pense démarrer ainsi : "If ActivePresentation.Slides(2)."... mais pour la suite, je n'arrive pas à trouver un code valide permettant de localiser mon OptionButton1 situé dans la diapo 2. Mon début de code n'est peut-être pas le bon ?

  4. #4
    Candidat au Club
    Homme Profil pro
    Développeur mateur
    Inscrit en
    Janvier 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur mateur

    Informations forums :
    Inscription : Janvier 2016
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Bonjour,
    J'ai fini par trouvé a réponse à ma 2e question. Voici un exemple de code permettant de masquer une forme dans une diapo 2, SI un bouton d'option est coché dans une diapo 1. Ceci en cliquant sur un bouton de commande situé en diapo 2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub CommandButton1_Click()
    If ActivePresentation.Slides(1).Shapes("OptionButton1").OLEFormat.Object.Value = True Then
    Me.Shapes("Rectangle 3").Visible = True
    End If
    End Sub
    En espérant que ça serve !

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. bouton d'option a 3 choix.
    Par Jazz_ dans le forum IHM
    Réponses: 6
    Dernier message: 16/08/2010, 13h26
  3. 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
  4. Probleme avec les boutons d'options independants
    Par Vercingetorix dans le forum Access
    Réponses: 2
    Dernier message: 18/06/2006, 07h48
  5. Problème avec les boutons d'options
    Par Le Rebel dans le forum Langage
    Réponses: 3
    Dernier message: 07/02/2006, 12h12

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