VBA PowerPoint 2007

Résolu/Fermé
FatDog92 Messages postés 7 Date d'inscription mercredi 10 février 2010 Statut Membre Dernière intervention 4 juillet 2014 - 10 févr. 2010 à 14:42
m@rina Messages postés 21211 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 27 décembre 2024 - 13 févr. 2010 à 21:00
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
A voir également:

8 réponses

m@rina Messages postés 21211 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 27 décembre 2024 11 373
10 févr. 2010 à 22:55
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
1
m@rina Messages postés 21211 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 27 décembre 2024 11 373
12 févr. 2010 à 14:51
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
1
FatDog92 Messages postés 7 Date d'inscription mercredi 10 février 2010 Statut Membre Dernière intervention 4 juillet 2014
11 févr. 2010 à 08:37
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
0
m@rina Messages postés 21211 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 27 décembre 2024 11 373
11 févr. 2010 à 12:42
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 ! ;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
FatDog92 Messages postés 7 Date d'inscription mercredi 10 février 2010 Statut Membre Dernière intervention 4 juillet 2014
12 févr. 2010 à 13:40
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 ?
0
FatDog92 Messages postés 7 Date d'inscription mercredi 10 février 2010 Statut Membre Dernière intervention 4 juillet 2014
13 févr. 2010 à 14:11
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
0
m@rina Messages postés 21211 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 27 décembre 2024 11 373
13 févr. 2010 à 21:00
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
0
jp3201 Messages postés 16 Date d'inscription vendredi 1 mai 2009 Statut Membre Dernière intervention 24 février 2010
10 févr. 2010 à 15:34
Répondez lui OMFG il need de l'aide quoi
-2