OVH Cloud OVH Cloud

Gestion des masques et VBA

12 réponses
Avatar
Jacques
Bonjour,

La charte graphique applicable à mes présentations a changé

J'ai vu que l'on pouvait avoir plusieurs masques de diapositives. J'ai donc
copié les masques de diapo du modèle diffusé dans mon entreprise dans ma
présentation et l'ai appliqué.

Après quelques ajustements, ca marche à peu près et je peux passer d'un
masque à un autre.

J'ai quand même quelques problèmes :

1/ Après plusieurs ouvertures/fermetures de ma présentation, l'ancien masque
avait disparu, aussi bien dans l'accès par Affichage/masque des diapositives
que dans la fenêtre "conception des diapositives". Je ne comprends pas
pourquoi

2/ Il y a plein de modèles dans la fenêtre "conception des diapositives"
(disponible) . Où sont-ils stockés sur le disque?

3/ Il m'est arrivé à 3 reprises qu'en passant de l'ancien modèle au nouveau,
je perde tout le formatage de la page de garde du nouveau (police en très
grand par exemple)

4/ La taille des polices de la page de garde dans l'ancien et le nouveau
modèle ne sont pas identiques. Comment régler cela? J'ai bien compris que
pour les diapositives elles-mêmes on définissait les styles par les retraits
et le titre de la 1ère page de masque mais pour la page de garde qui
correspond au masque de titre, comment fait-on? Je peux je peux résoudre le
problème en écrivant tout dans le masque de titre plutôt que dans la page de
garde mais est-ce le fonctionnement normal?

5/ Actuellement, j'accède en VBA au masque de diapositive pour modifier des
zones de texte par :

ActivePresentation.SlideMaster.Shapes("Bas_Page_Date").TextFrame.TextRange.Text
= Masque_Date
ActivePresentation.SlideMaster.Shapes("Bas_Page_Centre").TextFrame.TextRange.Text
= Titre_3

La modif ne se fait que sur le 1er masque - Si j'ai plusieurs masques,
comment faire la modif sur tous les masques , sachant que l'on retrouve les
mêmes noms de shapes sur mes 2 masques?

SlideMaster me permet d'accéder au masque de diapositive, Je pensai accéder
au masque de titre par TitleMaster mais ca ne marche pas :

ActivePresentation.TitleMaster.Shapes("Closing_Date").TextFrame.TextRange.Text
= Closing_Date


Merci pour votre aide

2 réponses

1 2
Avatar
Nikita
Salut,

ton post est trop chargé et je n'ai pas beaucoup de temps. Aussi je te
donne une piste seulement pour ce problème des masques multiples.
Depuis leur création avec la version 2002, la collection Designs a été
ajoutée (et l'objet Design par la même occasion).

Tu dois pouvoir t'en sortir avec :
ActivePresentation.Designs.Item(2).SlideMaster.Shapes
ou
ActivePresentation.Designs.Item(2).TitleMaster.Shapes

Sachant que Designs.Item(2) représente ton 2e jeu de masques.

Niki


j'ai 2 TitleMaster et 2 SlideMaster (4 slides "masque" donc) quand je vais
dans Affichage/Masque/masque des diapostives et seul la première paire
TitleMaster/SlideMaster est traitée par ma macro


ActivePresentation.TitleMaster.Shapes("Closing_Date").TextFrame.TextRange.Text
= Closing_Date ......
.......

ActivePresentation.SlideMaster.Shapes("Bas_Page_Date").TextFrame.TextRange.Text
= Masque_Date




"Geo" a écrit dans le message de groupe de discussion :


oui mais comme j'ai 2 masques dans ma présentation, et donc 2 TitleMaster
et
2 SlideMaster, comment les distinguer?


On peut avoir un TitleMaster pour une présentation, un SlideMaster,
un NotesMaster, un HandoutMaster.
Et aussi un Master par slide.


--
Niki


Avatar
Jacques
Merci

J'ai trouvé aussi des infos sur http://skp.mvps.org/designs.htm


Sub EnumDesigns()
Dim lCtrA As Integer
Dim oPres As Presentation
Set oPres = ActivePresentation
With oPres
Debug.Print "Number of applied templates: " & .Designs.Count
For lCtrA = 1 To .Designs.Count
Debug.Print "Template Design name: " & .Designs(lCtrA).Name
Debug.Print vbTab & "Slide master name: " &
.Designs(lCtrA).SlideMaster.Name
If .Designs(lCtrA).HasTitleMaster Then
Debug.Print vbTab & "Title master name: " &
.Designs(lCtrA).TitleMaster.Name
Else
Debug.Print vbTab & "No Title master present"
End If
Next lCtrA
End With
End Sub


"Nikita" a écrit dans le message de groupe de
discussion : 47e5f81c$0$859$
Salut,

ton post est trop chargé et je n'ai pas beaucoup de temps. Aussi je te
donne une piste seulement pour ce problème des masques multiples.
Depuis leur création avec la version 2002, la collection Designs a été
ajoutée (et l'objet Design par la même occasion).

Tu dois pouvoir t'en sortir avec :
ActivePresentation.Designs.Item(2).SlideMaster.Shapes
ou
ActivePresentation.Designs.Item(2).TitleMaster.Shapes

Sachant que Designs.Item(2) représente ton 2e jeu de masques.

Niki


j'ai 2 TitleMaster et 2 SlideMaster (4 slides "masque" donc) quand je vais
dans Affichage/Masque/masque des diapostives et seul la première paire
TitleMaster/SlideMaster est traitée par ma macro


ActivePresentation.TitleMaster.Shapes("Closing_Date").TextFrame.TextRange.Text
= Closing_Date ......
.......

ActivePresentation.SlideMaster.Shapes("Bas_Page_Date").TextFrame.TextRange.Text
= Masque_Date




"Geo" a écrit dans le message de groupe de discussion :


oui mais comme j'ai 2 masques dans ma présentation, et donc 2 TitleMaster
et
2 SlideMaster, comment les distinguer?


On peut avoir un TitleMaster pour une présentation, un SlideMaster,
un NotesMaster, un HandoutMaster.
Et aussi un Master par slide.


--
Niki


1 2