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

Powerpoint Discussion :

Repositionner image dans les slides


Sujet :

Powerpoint

  1. #1
    Futur Membre du Club
    Repositionner image dans les slides
    Bonjour,

    N’arrivant pas à me dépatouiller tout seul, j’appelle à l’aide :
    J’ai glané ce programme (probablement par ici) :

    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
    23
    Sub RedimImage()
       ' ===== déclaration des variables =====
        Dim shp As Shape
        Dim sld As Slide
     
        ' on boucle sur la collection des diapositives
        For Each sld In Application.ActivePresentation.Slides
           ' on boucle sur la collection des shapes
            For Each shp In sld.Shapes
                ' on test si c'est une shape de type image
                If shp.Type = msoPicture Then
                    With shp
                        '.Left = 25
                        '.Top = 25
                        .Width = 200
                        .Height = 150
                    End With
                End If
            Next shp
        Next sld
     
     
    End Sub



    Il fait très bien le taf pour ce qui est de redimensionner toutes les images de ma présentation, mais je n’arrive pas à le modifier pour positionner les différentes images d'une même page à différentes positons. Je souhaiterais qu’il le fasse dans l’ordre où les images ont été importées sur le powerpoint.
    D’ailleurs comment feriez-vous pour choisir les slides auxquelles on applique cette macro, au lieu de le faire pour tous.
    Toutes mes images sont en .png.

    Merci
    Bonne journée,
    Quentin

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

    D’ailleurs comment feriez-vous pour choisir les slides auxquelles on applique cette macro, au lieu de le faire pour tous.
    Bonjour,

    A tester : Le code ne s'applique que sur la diapo en cours.
    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
    23
    24
    25
     
    Sub RedimImageV2()
     
       ' ===== déclaration des variables =====
        Dim Shp As Shape
        Dim Sld As Slide
     
        Set Sld = ActivePresentation.Windows(1).View.Slide
        With Sld
              For Each Shp In .Shapes
                 ' on teste si c'est une shape de type image
                 If Shp.Type = msoPicture Then
                    With Shp
                        '.Left = 25
                        '.Top = 25
                        .Width = 50
                        .Height = 20
                    End With
                  End If
              Next Shp
        End With
     
        Set Sld = 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

  3. #3
    Futur Membre du Club
    Oui super ça répond à ma 2eme question; et je devrait pourvoir solutionner la 1ere!
    Si je remplace le
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    For Each shp In sld.Shapes

    par un
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    Set shp = ActivePresentation.shp(1).View.Slide

    position 1
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    Set shp = ActivePresentation.shp(2).View.Slide

    position 2
    Je cherche la syntaxe correcte et je post ici (on sait jamais ça peut servir à quelqu'un).

    Merci beaucoup Eric