IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

VBA PowerPoint Discussion :

Numero de page des diapos [PPT-2007]


Sujet :

VBA PowerPoint

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Par défaut Numero de page des diapos
    Bonjour,

    Je suis confronté à un problème de génération de numéro de page des diapos. La méthode manuelle est possible mais trop fastidieuse sur les gros powerpoint, surtout pour les mises à jour.

    Je ne sais pas comment attaquer le problème, surtout je ne sais pas comment faire au plus simple et au plus propre.

    Voici le besoin :

    J'ai un powerpoint avec XXX diapos, il faut numéroter les diapos, seulement, il faut que la numérotation saute quelques diapos par ci par là.

    Exemple :
    Diapo 100 : numéro de page 100
    Diapo 101 : numéro de page 100 (le même)
    Diapo 102 : numéro de page 101

    L'idée serait de pouvoir "tagger" les diapos dont la numérotation ne doit pas s'incrémenter.

    Réaliser un script sur la première page, que je lance et qui ecrit en dur dans le powerpoint les numéros de diapos.

    Ainsi, si je suis amené à modifier ma présentation powerpoint en enlevant, ajoutant des diapos, j'aurais juste à relancer le script qui ferra le boulot en un clic.



    Ma question :

    Comment "tagger" une diapo de manière générique afin de pouvoir la reperer facilement dans le script.
    Utiliser deux styles de thèmes différents ?
    On peut mettre un objet sur une diapo et le reperer facilement dans le script ?

    Je débute en macro sur Powerpoint, si vous pouviez me guider vers une voie, ca serait top.


    Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Est-ce que tu connais à l'avance les diapositives à éliminer de la présentation, où est-ce variable ?

    Tu peux déjà t'inspirer de cela pour déterminer les diapos à l'aide de [BArray[/B] :http://powerpoint.developpez.com/faq...ideselectionne

    Mais cela est un dur dans le code, où voudrais-tu une interface à l'aide d'un UserForm pour faire tes choix ?

    Philippe

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Par défaut
    Je connais les diapos à éliminer de la numérotation.

    Par contre, leur numéro peut varier dans l'ordre global de la présentation suivant si j’insère des nouvelles diapos ou pas plus tard.

    Donc je ne veux pas un code en dur en utilisant le numéro de diapo dans l'ordre global de la présentation, car c'est difficilement maintenable en cas d'évolution du diaporama.

    D'où le besoin de pouvoir "tagger" une diapo en elle même (dans son contenu par exemple, sa mise en forme), ainsi, même si j'insère des diapos entre, le numéro de la diapo dans l'ordre gloabl sera différent, mais la diapo restera "taggée".


    Les numéros de page devraient donc pouvoir être générés automatiquement en checkant les "tags" des diapos, peut importe le numéro de la diapo dans l'ordre global.

    Je regarderais en detail demain ton lien, merci en tout cas d'avoir pris le temps de me lire et de me répondre.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    J'ai une idée, mais ce qui me manque c'est un repère pour tagger ces diapositives.

    Philippe

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Par défaut
    Qu'entends tu par repère ?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Il faut bien quelque chose pour taguer tes diapos, c'est de se repère dont je parles.

    En effet, à partir d'un repère sur une diapo on peut faire une macro qui mettra le numéro de la page sans soucis.

    Philippe

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Par défaut
    Je viens de réussir.

    Voici le code, surement améliorable, mais ca fonctionne.

    Le repere pris est une boite de texte, mis hors champs sur les diapos à ne pas numéroter (enfin, ne pas incrémenter la numérotation)

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    Private Sub CommandButton1_Click()
     
        Dim objSld As Slide
        Dim objShp, objShpNumerotation As Shape
        Dim nbPage As Integer
        Dim TagTrouve As Boolean
     
     
        nbPage = 0
     
        For Each objSld In ActivePresentation.Slides
     
         TagTrouve = False
     
         For Each objShp In objSld.Shapes
     
            If objShp.Name = "Tag particulier" Then
     
                TagTrouve = True
            End If
     
          Next objShp
     
     
          If TagTrouve = False Then
            nbPage = nbPage + 1
            End If
     
            Set objShpNumerotation = objSld.Shapes.AddTextbox(msoTextOrientationHorizontal, 675, 520, 45, 25)
            With objShpNumerotation.TextFrame
                .HorizontalAnchor = msoAnchorCenter
            With objShpNumerotation.TextFrame.TextRange
                    .text = Str(nbPage)
                    .Font.Name = "Arial"
                    .Font.Size = 12
            End With
            End With
     
        Next objSld
    End Sub
    Merci pour ton aide, et pour ce que tu as ecris dans la FAQ, à force de naviguer, tester, ca a fini par prendre forme.

  8. #8
    Invité
    Invité(e)
    Par défaut


    Il manquait plus que le tag.

    Penses à cliquer sur le bouton en bas

    Philippe

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Février 2007
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 40
    Par défaut
    Je n'avais pas vu le bouton, j'avais modifié directement dans le titre de mon premier post à la main.

    Voila qui est rectifié.


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage page par page des résultats avec des pointillés pour les numeros de page
    Par lewhechris dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 27/10/2011, 12h15
  2. Réponses: 2
    Dernier message: 02/02/2010, 00h58
  3. [iText] Manipulation des tables et insertion numero de page
    Par etoileDesNeiges dans le forum Documents
    Réponses: 8
    Dernier message: 16/03/2007, 13h28
  4. [Visual Web] [SJSC] Mise en page des composants relative
    Par Original Prankster dans le forum NetBeans
    Réponses: 2
    Dernier message: 29/06/2006, 10h07
  5. [MFC] Taille des pages des CPropertySheet
    Par Negyoshi dans le forum MFC
    Réponses: 3
    Dernier message: 03/04/2005, 13h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo