Gestion des masques et VBA

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacques
Le #1792394
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 :

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
Geo
Le #1794164

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
Le #1794163
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
Le #1794162
dans le masque il y a en fait 2 slides : un masque de diapositives et un
masque de titre

"Geo"

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+

Jacques
Le #1795325
slidemaster et titlemaster

"Geo"

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+

Circé
Le #1795324
Bonjour Geo,

Geo a formulé ce samedi :

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

Activepresentation.slideMaster
et ses composants sont Activepresentation.SlideMaster.Shapes
Qui est une collection qu'il suffit de faire défiler.
Non ?



Geo
Le #1795323
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
Le #1795886
oui mais comme j'ai 2 masques dans ma présentation, et donc 2 TitleMaster et
2 SlideMaster, comment les distinguer?

Merci

"Geo"
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+

Geo
Le #1795885

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
Le #1819035
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"

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+

Publicité
Poster une réponse
Anonyme