Lancer l'animation d'1 forme d'1 PPT depuis 1 autre PPT ?
Bonsoir à tous et bonne année !
Je cherche à pouvoir contrôler un .ppt à partir d'un autre .ppt (en lisant chacun d'eux côte à côte en mode "Lecture").
Comme sur cette vidéo : https://www.youtube.com/watch?v=tetRR12wEmw
Admettons que j'aie un .ppt nommé "Ecran" qui serve uniquement à afficher des animations, et un autre .ppt de "contrôle" qui servirait à déclencher ces animations.
Voici mon idée de code : l'animation du "Rectangle 3" dans le .ppt "Ecran" est censée être lancée en cliquant sur le "TriangleIsocèle1" du .ppt contenant le code :
Private Sub TriangleIsocèle1_Click()
With Application.Presentations("C:\Users\William\Desktop\Ecran")
Set myDocument = Presentations("C:\Users\William\Desktop\Ecran").Slides(1)
Set oShpB = myDocument.Shapes("Rectangle 3")
Set oEffect = myDocument.TimeLine.MainSequence.AddEffect _
(Shape:=oShpB, effectid:=msoAnimEffectWipe, trigger:=msoAnimTriggerOnShapeClick)
With oEffect
.EffectParameters.Direction = msoAnimDirectionLeft
.Timing.Duration = 2
End With
End With
Malheureusement, ce code fonctionne uniquement quand le .ppt "ciblé" dans "Set myDoument" est le même que le .ppt de contrôle. Si je veux cibler un autre .ppt ouvert (ici "Ecran"), ça ne fonctionne pas.
Quelqu'un aurait-il une idée ?
Merci d'avance et bon dimanche !
Bonjour,
Je me permets de remonter le sujet en proposant un code qui n'a pas porté ses fruits, mais :
- qui a le mérite d'être + simple
- qui fonctionne si la forme animée et la forme déclencheuse sont dans le même PPT.
Sachant que le but est de faire apparaître la forme "FormeOvale" dans le PPT "Ecran" en cliquant sur le déclencheur "[Animer]" dans le PPT "Ecriture". Ceci en lançant les deux PPT côte à côte en mode "Lecture".
Merci d'avance à vous, et voici le nouveau code :
Private Sub Animation()
'Typage des variables
Dim FormeOvale, Déclencheur As Shape
Dim Apparition As Effect
'Nommage des variables
Set FormeOvale = Application.Presentations("C:\Users\William\Desktop\QVGDM\PPT\VBA\Diapos\Double écran\Ecran.pptm").Slides(1).Shapes("Ellipse 2")
Set Déclencheur = Application.Presentations("C:\Users\William\Desktop\QVGDM\PPT\VBA\Diapos\Double écran\Ecriture.pptm").Slides(1).Shapes("[Animer]")
Set Apparition = Application.Presentations("C:\Users\William\Desktop\QVGDM\PPT\VBA\Diapos\Double écran\Ecran.pptm").Slides(1). _
TimeLine.InteractiveSequences.Add(1).AddEffect(Shape:=FormeOvale, _
effectId:=msoAnimEffectAppear, trigger:=msoAnimTriggerOnShapeClick)
'Déclencheur de l'animation
Apparition.Timing.TriggerShape = Déclencheur
End Sub
Bonsoir,
Une autre idée m'est venue : je pourrais peut-être arriver à ce que je souhaite si vous connaissiez un code permettant de lire une "InteractiveSequence" en cliquant sur un bouton d'action (sans avoir à cliquer directement une forme déclencheuse).
Un exemple avec l'image de mon lien : auriez-vous un code permettant de déclencher la séquence "Déclencheur : Flèche droite 1" SANS avoir à cliquer sur "Flèche droite 1" ? Ceci me permettrait, je pense, de déclencher cette séquence "à distance" (d'où mon idée de bouton d'action) et ainsi d'arriver à ce que je souhaite.
Après, j'ai aussi pensé à utiliser un code prenant le contrôle de la souris et simulant un clic sur telle position de l'écran, car je sais que ça existe, mais je n'ai pas réussi à faire fonctionner les codes "tout prêts" régulièrement proposés sur le web dans ce but.
Merci d'avance !