FAQ PowerPoint
FAQ PowerPointConsultez toutes les FAQ
Nombre d'auteurs : 20, nombre de questions : 150, dernière mise à jour : 10 juillet 2021
Il suffit de programmer la macro suivante et l'affecter à la forme automatique (clic droit dessus et Paramètre des actions).
Sub
changecolor (
)
Activepresentation.slides
(
numero de ta diapo).shapes
(
numero de ton image).Fill.Forecolor.RGB
=
RGB
(
255
, 0
, 0
)
End
Sub
Lorsque vous insérez manuellement des objets dans un diaporama, PowerPoint va leur donner un nom (Rectangle 1, Ellipse 6, etc...), donc des noms peu parlants.
Le seul moyen qui existait pour nommer les éléments avec des noms cohérents, étaient d'ajouter les éléments par programmation.
Hors il est utile, lorsque vous voulez faire un peu de VBA, de donner des noms cohérents à des formes placées manuellement sur vos diapositives.
PowerPoint 2007 permet maintenant de nommer les éléments manuellement : Comment nommer un objet dans PowerPoint 2007 ?
Le code proposé va :
- Se positionner sur chaque slide (diapositive de votre présentation).
- Parcourir tous les éléments de votre diapositive en les sélectionnant (ce qui vous permettra de les visualiser).
- Une boite de dialogue en haut à gauche vous indiquera le nom de la diapositive, le nom de l'élément.
- Vous n'avez plus qu'à saisir le nouveau nom à la place de l'ancien, puis à valider et ainsi de suite.
Ce code est à utiliser lorsque vous créer votre présentation, et non en mode diaporama.
- Copiez le code suivant dans un module de l'éditeur VBE (Alt + F11).
- Positionnez le curseur de votre souris à l'intérieur de celui-ci.
- Appuyez sur la touche F5 pour exécuter la routine.
- La fenêtre de PPT passe alors au premier plan, une boite de dialogue en haut à gauche s'affiche, vous n'avez plus qu'à renommer au fur et à mesure.
Public
Sub
RenommerShapes
(
)
'=======================================================================================
' Procedure : RenommerShapes
' Auteur : Philippe JOCHMANS - http://starec.developpez.com
' Date : 19/04/2008
' Commentaires : Cette procédure va permettre de renommer les shapes de slides
'=======================================================================================
' ===== déclaration des variables =====
Dim
objSld As
Slide ' va permettre de parcourir les diapositives du diaporama
Dim
objShp As
Shape ' va permettre de parcourir les éléments d'une diapositive
Dim
strNom As
String
' pour récupérer le nouveau nom
Dim
strMessage As
String
' message qui sera affiché dans la boite de demande du nom
' ===== boucle ======
' on boucle sur l'ensemble des diapositives
For
Each
objSld In
ActivePresentation.Slides
objSld.Select
' on boucle sur l'ensemble des shapes
For
Each
objShp In
objSld.Shapes
' création du message qui indiquera slide + shape
objShp.Select
strMessage =
"Elément sélectionné :"
&
vbCrLf
&
_
"- Slide : "
&
objSld.Name
&
vbCrLf
&
_
"- Shape : "
&
objShp.Name
strNom =
InputBox
(
strMessage, "Modification des noms"
, objShp.Name
, 0
, 0
)
' contrôle du nom
' si on supprime le nom, on reprend l'ancien
If
strNom =
""
Or
IsNull
(
strNom) Then
strNom =
objShp.Name
End
If
objShp.Name
=
strNom
Next
objShp
Next
objSld
End
Sub
Lorsque vous réalisez des dégradés dans une forme, il faut que l'indication du type de dégradé apparaisse avant l'affectation des couleurs.
Ainsi le code suivant fonctionne :
Dim
shp As
Shape
Set
shp =
ActivePresentation.Slides
(
1
).Shapes.AddShape
(
msoShapeRectangle, 240
, 240
, 100
, 100
)
With
shp
.Fill.TwoColorGradient
msoGradientHorizontal, 1
.Fill.ForeColor.RGB
=
RGB
(
255
, 0
, 0
)
.Fill.BackColor.RGB
=
RGB
(
0
, 250
, 0
)
.Fill.Visible
=
msoTrue
DoEvents
End
With
End
Sub
Si vous mettez la propriété .Fill.TwoColorGradient msoGradientHorizontal, 1 après l'affectation des couleurs (ForeColor et BackColor), le dégradé n'apparaîtra pas.
Lorsque l'on change la dimension d'une forme par programmation, l'autre n'est pas modifié.
Si on veut garder un ratio entre la hauteur et la largeur, il faut utiliser la méthode
LockAspectRatio de l'objet Shape.
Le code suivant va multiplier la hauteur de toutes les formes de la première diapositive par 1.5, et gardant le même ration sur la largeur.
Public
Sub
Redimensionner
(
)
'---------------------------------------------------------------------------------------
' Procedure : Redimensionner
' Auteur : Philippe JOCHMANS - http://starec.developpez.com
' Date : 15/05/2009
' Commentaires : Comment redimensionner une image en gardant la proportion
'---------------------------------------------------------------------------------------
Dim
sld As
Slide
Dim
shp As
Shape
Set
sld =
ActivePresentation.Slides
(
1
)
For
Each
shp In
sld.Shapes
With
shp
.LockAspectRatio
=
msoTrue
.Height
=
.Height
*
1
.5
End
With
Next
shp
End
Sub