Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Gestion des masques et VBA

229 views
Skip to first unread message

Jacques

unread,
Mar 22, 2008, 9:14:39 AM3/22/08
to
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


Jacques

unread,
Mar 22, 2008, 9:20:21 AM3/22/08
to
en fait
ActivePresentation.TitleMaster.Shapes("Closing_Date").TextFrame.TextRange.Text
= Closing_Date semble marcher mais je ne sais comment appliquer les modifs à
tous les masques


"Jacques" <none> a écrit dans le message de groupe de discussion :
OvKzx6Bj...@TK2MSFTNGP04.phx.gbl...

Geo

unread,
Mar 22, 2008, 12:46:34 PM3/22/08
to
Bonjour à Jacques qui nous a écrit :

> en fait
> ActivePresentation.TitleMaster.Shapes("Closing_Date").TextFrame.TextRange.Text
> = Closing_Date semble marcher mais je ne sais comment appliquer les modifs à
> tous les masques

J'ai un peu de mal à suivre, mais c'est la fin de semaine.
Une présentation n'a qu'un masque :
Activepresentation.slideMaster
et ses composants sont Activepresentation.SlideMaster.Shapes
Qui est une collection qu'il suffit de faire défiler.
Non ?

--
A+


Geo

unread,
Mar 22, 2008, 1:41:45 PM3/22/08
to
Re

Je ne connais pas grand chose à PowerPoint, j'essaie seulement de vous
répondre sur la partie VBA.

voici un bout de programme qui liste les différentes parties d'un diapo
maître.
Sub ListeMasque()
Dim F As Shape
For Each F In ActivePresentation.SlideMaster.Shapes
Debug.Print "Nom : " & F.Name
Debug.Print "Contenu : " & F.TextFrame.TextRange
Next F
End Sub

Vous voyez que l'une de ces formes est équivalente à
ActivePresentation.SlideMaster.Shapes.Title.TextFrame.TextRange

--
A+


Jacques

unread,
Mar 22, 2008, 1:52:37 PM3/22/08
to
dans le masque il y a en fait 2 slides : un masque de diapositives et un
masque de titre

"Geo" <G...@sans.pub> a écrit dans le message de groupe de discussion :
mn.b42a7d83e...@sans.pub...

Jacques

unread,
Mar 22, 2008, 1:58:50 PM3/22/08
to
slidemaster et titlemaster

"Geo" <G...@sans.pub> a écrit dans le message de groupe de discussion :
mn.b42a7d83e...@sans.pub...

Circé

unread,
Mar 22, 2008, 3:50:00 PM3/22/08
to
Bonjour Geo,

Geo a formulé ce samedi :


> Bonjour à Jacques qui nous a écrit :
>
>> en fait
>> ActivePresentation.TitleMaster.Shapes("Closing_Date").TextFrame.TextRange.Text
>> = Closing_Date semble marcher mais je ne sais comment appliquer les modifs
>> à tous les masques
>
> J'ai un peu de mal à suivre, mais c'est la fin de semaine.
> Une présentation n'a qu'un masque :

Et pourtant les versions 2002 et 2003 peuvent effectivement comporter
plusieurs masques composés chacun d'un masque de diapo et d'un masque
de titre.
Ça ne se gère pas en VBA ?

Circé
http://faqword.free.fr

Geo

unread,
Mar 22, 2008, 4:09:17 PM3/22/08
to
Bonjour

> Et pourtant les versions 2002 et 2003 peuvent effectivement comporter plusieurs masques
> composés chacun d'un masque de diapo et d'un masque de titre.
> Ça ne se gère pas en VBA ?

Si si, c'est quasiment pareil.
Quand on sait ce qu'on cherche on a des chances de la trouver.


Sub ListeMasqueTitre()
Dim i As Integer
Dim diapo As Master
Debug.Print ActivePresentation.TitleMaster.Shapes.Count
Set diapo = ActivePresentation.TitleMaster
For i = 1 To diapo.Shapes.Count
Debug.Print diapo.Shapes(i).Name, diapo.Shapes(i).Type
If diapo.Shapes(i).HasTextFrame Then
Debug.Print , diapo.Shapes(i).TextFrame.TextRange
End If
Next i

End Sub

--
A+


Jacques

unread,
Mar 22, 2008, 4:29:20 PM3/22/08
to
oui mais comme j'ai 2 masques dans ma présentation, et donc 2 TitleMaster et
2 SlideMaster, comment les distinguer?

Merci

"Geo" <G...@sans.pub> a écrit dans le message de groupe de discussion :
mn.b4f57d834...@sans.pub...

Geo

unread,
Mar 22, 2008, 5:05:29 PM3/22/08
to
Bonjour à Jacques qui nous a écrit :

> 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.

--
A+


Jacques

unread,
Mar 22, 2008, 5:22:54 PM3/22/08
to
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" <G...@sans.pub> a écrit dans le message de groupe de discussion :

mn.b52d7d839...@sans.pub...

Nikita

unread,
Mar 23, 2008, 2:26:29 AM3/23/08
to
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

--
Niki


Jacques

unread,
Mar 23, 2008, 7:43:40 AM3/23/08
to
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" <nikita...@pasyahoo.fr> a écrit dans le message de groupe de
discussion : 47e5f81c$0$859$ba4a...@news.orange.fr...

0 new messages