Ajouter la pagination sur une présentation Powerpoint

Résolu
Guiiggs Messages postés 30 Statut Membre -  
Guiiggs Messages postés 30 Statut Membre -
Bonjour,

J'ai écrit une macro (dans Excel) qui permet de créer une présentation Powerpoint.
Mon problème est que je souhaite ajouter le numéro de page sur ma présentation mais je n'arrive pas.
J'ai le code trouvé sur Internet :
Sub slidnum()
    Dim oshp As Shape
    With ActivePresentation.SlideMaster.Shapes
        Set oshp = .AddTextbox(msoTextOrientationHorizontal, 50, 100, 100, 50)
        oshp.TextFrame.TextRange.Font.Name = "Arial"
        oshp.TextFrame.TextRange.Font.Size = 12
        oshp.TextFrame.TextRange.InsertSlideNumber
        oshp.TextFrame.TextRange.InsertAfter " of " & ActivePresentation.Slides.Count
    End With
    ActivePresentation.PageSetup.FirstSlideNumber = 0
    ActivePresentation.Slides(1).DisplayMasterShapes = msoFalse
    Set oshp = Nothing
End Sub


En lançant la macro j'obtient un message d'erreur : cf image "messageErreur" à la ligne cf image "ligneErreur"


Pourriez-vous m'aider s'il vous plaît ?

Cordialement,
Guiiggs

1 réponse

  1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    Bonjour,

    comme ceci:

    Sub slidnum()
    Dim i As Integer
    Dim sld As Slide
    Dim shp As Shape
    For i = 1 To ActivePresentation.Slides.Count
     
    '' affectation à l'objet slide la première diapositive de la présentation en cours.
        Set sld = ActivePresentation.Slides(i)
     
        ' création de la zone de texte
        Set shp = sld.Shapes.AddTextbox(msoTextOrientationHorizontal, 50, 100, 100, 50)
     
        ' ajout du texte
        With shp.TextFrame.TextRange
            .Font.Name = "Arial"
            .Font.Size = 12
           .InsertSlideNumber
           .InsertAfter " of " & ActivePresentation.Slides.Count
           .Text = i & " slide"
        End With
        Next
        ActivePresentation.PageSetup.FirstSlideNumber = 0
        ActivePresentation.Slides(1).DisplayMasterShapes = msoFalse
        Set shp = Nothing
       Set sld = Nothing
    End Sub
    


    0
    1. Guiiggs Messages postés 30 Statut Membre 1
       
      Bonjour cs_Le Pivert,

      Merci pour ta réponse.
      Mais j'ai le même message d'erreur :




      Cordialement,
      Guiiggs
      0
    2. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      A mettre dans un module, mettre le curseur sur: slidnum() et appuyer surF5

      Cela fonctionne chez moi

      Ps j'ai ajouté cette ligne pour numéroter les slides:

      .Text = i & " slide"


      voilà
      0
    3. Guiiggs Messages postés 30 Statut Membre 1
       
      J'ai fait tes modification mais toujours le même problème.

      Veux-tu que je t'envoie mon fichier ?

      Cordialement,
      Guiiggs
      0
    4. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
       
      A mettre dans c-joint et ensuite coller le lien dans ce post

      https://www.cjoint.com/
      0