0
(0)

Demande d'un utilisateur du forum : Déclencher l'affichage ou le masquage de l'objet et le garder affiché/masqué même en changeant de diapositive.

Principe

On place l'objet dans le masque de diapositive ou dans une disposition du masque afin qu'il soit visible sur toutes les diapositives désirées (ces diapositives devant bien évidemment utiliser ce masque ou cette disposition).

Les codes suivants sont à placer dans un module standard.

Code principal

Sub AfficherObjet(boAfficher As Boolean, strNomObjet As String, strNomDisposition As String)
    ' Code ne gérant qu'un jeu de masque
    
    Dim masterSlide          As Master
    Dim layout               As CustomLayout
    Dim intIndiceDisposition As Integer
    
    On Error GoTo erreur
    Set masterSlide = ActivePresentation.Designs(1).SlideMaster
    If strNomDisposition = "" Then
        ' Objet dans le masque
        masterSlide.Shapes(strNomObjet).Visible = boAfficher
    Else
        ' Objet dans une disposition
        For Each objDisposition In masterSlide.CustomLayouts
            If objDisposition.Name = strNomDisposition Then
                intIndiceDisposition = objDisposition.Index
                Exit For
            End If
        Next
        If intIndiceDisposition = 0 Then
            MsgBox "Disposition non trouvée", vbCritical, "Erreur sur le nom de la disposition"
            Exit Sub
        End If
        masterSlide.CustomLayouts(intIndiceDisposition).Shapes(strNomObjet).Visible = boAfficher
        'SlideShowWindows(1).View.GotoSlide SlideShowWindows(1).View.CurrentShowPosition 'Forcer rafraichisement
    End If
    Exit Sub
erreur:
    MsgBox Err.Description & " (" & Err.Number & ")", vbCritical, "Erreur dans la procédure AfficherObjet"
End Sub

Codes de annexes

Codes servant pour identifier sur quel objet agir et quoi faire (Afficher ou Masquer).

Ici on a le code pour 2 objets (dupliquer la paire de procédures en les renommant pour plus d'objets).

' Objet 1
Sub AcAfficher_Click1()
    AfficherObjet True, strNomObjet1, strNomDisposition1
End Sub

Sub AcMasquer_Click1()
    AfficherObjet False, strNomObjet1, strNomDisposition1
End Sub

' Objet 2
Sub AcAfficher_Click2()
    AfficherObjet True, strNomObjet2, strNomDisposition2
End Sub

Sub AcMasquer_Click2()
    AfficherObjet False, strNomObjet2, strNomDisposition2
End Sub

Codes à personnaliser

A placer tout en haut du module (en 1ere position).

Créer autant de pair de constantes qu'il y a d'objets (ici 2 objets).

  • La 1ere constante identifie l'objet à afficher/masquer.
    > Utiliser le Volet de sélection pour récupérer le nom de l'objet voir de le renommer si nécessaire.
  • La 2ème constante identifie l'emplacement de l'objet.
    • Valeur vide "" si l'objet est dans le masque 1.
    • Nom de la disposition si l'objet se trouve dans une des dispositions du masque 1.
      > Clic droit sur la disposition puis Renommer la disposition pour copier ou renommer celle-ci.
    ' A personnaliser
    ' ===============
    Const strNomObjet1       As String = "Ellipse 9" ' Remplacez par le nom de l'objet à afficher
    Const strNomDisposition1 As String = ""          ' Remplacez par le nom de la disposition où se trouve l'objet
                                                     '   si l'objet est dans le masque principale saisir ""

    Const strNomObjet2       As String = "Signe de multiplication 4"
    Const strNomDisposition2 As String = "Vide"                      

Créer les boutons de commandes pour lancer le masquage d'un objet

Dessiner et formater les formes servant de bouton via les outils de dessins standard de Powerpoint.

Powerpoint : Macro pour Afficher/Masquer un objet du Masque ou d'une Disposition

Quelques exemples (à vous de faire preuve de créativité !)

Powerpoint : Macro pour Afficher/Masquer un objet du Masque ou d'une Disposition
Exemple de boutons

Remarque :
> Pour enlever le remplissage de la forme (fond transparent), il ne faut pas choisir Aucun remplissage mais affecter une transparence à 100% à la couleur appliquée.

Affecter à ces objets un Action : Exécuter la macro et choisir la macro dans la liste déroulante.

Ruban Insertion > Action.

Powerpoint : Macro pour Afficher/Masquer un objet du Masque ou d'une Disposition Ajout d'une Action
Powerpoint : Macro pour Afficher/Masquer un objet du Masque ou d'une Disposition
Choix de l'Action

Recommencer cette manipulation pour chaque bouton.

Merci pour votre attention bienveillante.

Article intéressant ?

Cliquez sur une étoile pour noter cet article !

Note moyenne 0 / 5. Nombre de votes : 0

Aucun vote pour l'instant ! Soyez le premier à noter ce post.

Nous sommes désolés que cet article ne vous ait pas été utile !

Améliorons cet article !

Dites nous comment nous pouvons améliorer cet article ?

A lire également

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *