VBA PowerPoint 2007
Résolu
FatDog92
Messages postés
10
Statut
Membre
-
m@rina Messages postés 27633 Date d'inscription Statut Modérateur Dernière intervention -
m@rina Messages postés 27633 Date d'inscription Statut Modérateur Dernière intervention -
Salut à toutes et tous !
Je suis en train de faire une macro sous PowerPoint (version 2007)
le but de cette macro est d'attribuer une animation Random sur chaque Bloc texte du pp.
Je n'ai quasi jamais fait de VBA, en utilisant la nouvelle version 2007 j'ai vu que l'enregistrement à été enlevé
contrairement a word et excel 2007.
Bref, les ingénieurs microsoft ont oublié d'enlevé les raccourci ALT+O M E pour enregistré une macro
et après quelque recherche le raccourci ALT+O M R pour terminer l'enregistrement.
Après plusieurs test j'ai pu faire celà:
Sub TestMacro()
'
' BlaBla
'
With ActiveWindow.Selection.SlideRange.SlideShowTransition
.EntryEffect = ppEffectRandom
.Speed = ppTransitionSpeedFast
.AdvanceOnClick = msoTrue
.AdvanceOnTime = msoFalse
.SoundEffect.Type = ppSoundNone
End With
ActiveWindow.View.DisplaySlideMiniature = msoTrue
End Sub
Ici ce que je comprend (corrigé moi si j'ai faux) c'est qu'avec la fenêtre actuel on selectionne tout le slide
et on lui affecte une animation random, le reste suit simplement la config d'une anim (vitesse etc).
J'ai essayé avec TextRange, mais le type d'animation est totalement différent.
Je pense que le plus efficace serait d'inseré une boucle For qui parcours tout le pp et qui attribue une animation si le texte n'en a deja pas ?
Merci d'avance de vos réponses :P
Je suis en train de faire une macro sous PowerPoint (version 2007)
le but de cette macro est d'attribuer une animation Random sur chaque Bloc texte du pp.
Je n'ai quasi jamais fait de VBA, en utilisant la nouvelle version 2007 j'ai vu que l'enregistrement à été enlevé
contrairement a word et excel 2007.
Bref, les ingénieurs microsoft ont oublié d'enlevé les raccourci ALT+O M E pour enregistré une macro
et après quelque recherche le raccourci ALT+O M R pour terminer l'enregistrement.
Après plusieurs test j'ai pu faire celà:
Sub TestMacro()
'
' BlaBla
'
With ActiveWindow.Selection.SlideRange.SlideShowTransition
.EntryEffect = ppEffectRandom
.Speed = ppTransitionSpeedFast
.AdvanceOnClick = msoTrue
.AdvanceOnTime = msoFalse
.SoundEffect.Type = ppSoundNone
End With
ActiveWindow.View.DisplaySlideMiniature = msoTrue
End Sub
Ici ce que je comprend (corrigé moi si j'ai faux) c'est qu'avec la fenêtre actuel on selectionne tout le slide
et on lui affecte une animation random, le reste suit simplement la config d'une anim (vitesse etc).
J'ai essayé avec TextRange, mais le type d'animation est totalement différent.
Je pense que le plus efficace serait d'inseré une boucle For qui parcours tout le pp et qui attribue une animation si le texte n'en a deja pas ?
Merci d'avance de vos réponses :P
Configuration: Windows XP Firefox 3.0.10
8 réponses
-
Bonjour,
Bravo pour avoir trouvé l'enregistrement ! Malheureusement, je pense que ça ne marche plus avec PPT 2010.
Voici ta macro :
Sub anim() Dim x For x = 1 To ActivePresentation.Slides.Count With ActivePresentation.Slides(x).SlideShowTransition .EntryEffect = ppEffectRandom .Speed = ppTransitionSpeedFast .AdvanceOnClick = msoTrue .AdvanceOnTime = msoFalse .SoundEffect.Type = ppSoundNone End With Next x End Sub
m@rina -
Bonjour,
Essaie ceci :
Sub anim() Dim diapo As Slide, forme As Shape For Each diapo In ActivePresentation.Slides For Each forme In diapo.Shapes If forme.HasTextFrame Then forme.AnimationSettings.EntryEffect = ppEffectRandom End If Next forme Next diapo End Sub
m@rina -
Salut !
Merci beaucoup pour ta réponse !
L'effet donné est presque celui que je veux, en fait, dans la macro que tu m'a proposé c'est tout le slide qui prend un effet "Random", en fait ce que je voudrais sa serait la même chose mais uniquement pour le bloc texte.
(Si on lance la macro on verra effectivement que le slide à une animation random, mais si on sélectionne le bloc texte il n'a aucun effet)
Je vais continué de cherché et je remettrais à jour si je trouve quelque chose d'intéressant !
Sinon pour les raccourci je n'ai pas PP 2010 donc je ne peux pas trop te dire mais c'est à tester
Je prend ta macro pour base, merci encore !
F@tDøg -
Bonjour,
Tu étais parti sur des transitions de slide. Donc, effectivement, s'il s'agit d'animer des zones de texte, ce n'est pas la même chose.
Est-ce que ce sont les espaces réservés que tu veux animer ? c'est moins simple car tu peux en avoir 1 ou plus, ou pas du tout sur chaque slide.
Est-ce une animation d'ouverture ? ou bien une animation d'emphase ?
m@rina
ps : pour 2010, ce n'était pas une question, mais une constatation ! ;)
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Salut,
Oui désolé, je me suis mal exprimé. Oui il s'agit bien d'animation de texte, et une animation d'ouverture du type aléatoire c'est bien ce que je cherchais. Donc pour résumé une boucle for qui parcours chaque bloc texte du document PowerPoint et ensuite selectionner et ensuite simplement donné une animation ? -
Salut !
La grande classe, ça marche nickel, ça avait rien à voir avec mon code, j'ai encore du chemin à faire pour le VBA !
Merci beaucoup, tous les blocs texte ont un anime random !
Bon week end ;) !
F@tDøg -
Bonjour,
Ben oui, tu étais parti sur des transitions, les animations des objets à l'intérieur des diapos, ce n'est pas la même chose ! ;))
Bon week end à toi aussi
m@rina -