Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Nouveau Candidat au Club
    Sélectionner plusieurs Shape pour appliquer une animation
    Bonjour,

    Je souhaite appliquer une animation simple (apparition) et un ordre d'affichage identique pour plusieurs Shape.

    J'utilise ce bout de code:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Set PptDoc = ActivePresentation
     
        Dim oeff As Effect
        Dim osld As Shape
        'PptDoc.Slides(3).Select
     
        With PptDoc.Slides(3)
            Set oeff = .TimeLine.MainSequence.AddEffect(Shape:=.Shapes("Objet A" ), effectID:=msoAnimEffectAppear, trigger:=msoAnimTriggerOnPageClick, Index:=1)
            Set oeff = .TimeLine.MainSequence.AddEffect(Shape:=.Shapes("Objet B" ), effectID:=msoAnimEffectAppear, trigger:=msoAnimTriggerOnPageClick, Index:=1)
        End With

    Avec ce code, l'objet B a un ordre d'affichage incrémenté d'un par rapport à l'objet B, ce qui ne répond pas au besoin.

    Existerait-il un code qui permette que l'objet B s'affiche en même temps que l'objet A ?

    Merci,
    Cyril

  2. #2
    Expert éminent sénior
    Citation Envoyé par Cyril8888855555 Voir le message

    l
    Bonjour,

    Juste une remarque sans VBA : Le groupement des deux shapes ne serait pas suffisant ?
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

  3. #3
    Nouveau Candidat au Club
    Bonjour,

    Oui, c'est possible mais il y a 50 fichiers PowerPoint sur lesquels mettre en place les animations.
    C'est pourquoi, je souhaitai automatiser cela. Sachant que ces fichier PPT sont générés par VBA et ont la même structure et organisation.

    Merci,

  4. #4
    Expert éminent sénior
    Citation Envoyé par Cyril8888855555 Voir le message

    Si les shapes sont du type 14 (comme celles natives dans un slide), visiblement elles ne peuvent pas être groupées. En revanche, en créant des formes de type 1 AutoShape (celles en ajoutant depuis le menu), celles-ci peuvent être groupées. Selon le contenu, ces formes peuvent être générées en VBA pour remplacer les formes de type 14.
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    Sub GrouperDeuxShapes()
     
    Dim PptDoc As Presentation
    Dim oeff As Effect
    Dim osld1 As Shape, osld2 As Shape, osld_AB As Shape
     
        Set PptDoc = ActivePresentation
     
        With PptDoc.Slides(3)
             Set osld1 = .Shapes("Rectangle 1")
             Set osld2 = .Shapes("Rectangle 2")
             Set osld_AB = .Shapes.Range(Array(osld1.Name, osld2.Name)).Group
             Set oeff = .TimeLine.MainSequence.AddEffect(Shape:=osld_AB, effectID:=msoAnimEffectAppear, trigger:=msoAnimTriggerOnPageClick, Index:=1)
        End With
     
        Set osld_AB = Nothing
        Set osld1 = Nothing
        Set osld2 = Nothing
        Set PptDoc = Nothing
     
    End Sub
    Eric KERGRESSE
    https://sites.google.com/site/erickergresseeirl/
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter

  5. #5
    Nouveau Candidat au Club
    Merci Eric, ton code fonctionne. Je vais tester cela sur l'ensemble de mon fichier PowerPoint.

###raw>template_hook.ano_emploi###