Insérer le nombre total de diapositives dans PowerPoint 2007

25

Est-il possible d'insérer le nombre total de diapositives d'une présentation PowerPoint dans une note de bas de page? Je recherche un moyen automatisé.

Bien sûr, je pouvais éditer le pied de page et le mettre manuellement, mais si j'augmente / diminue les diapositives, il serait nécessaire de l'ajuster. Et c'est quelque chose que nous oublions toujours.

L' aide de Microsoft explique comment procéder manuellement. Je ne peux pas croire que PowerPoint ne l'ait pas ...

Bob Rivers
la source
1
L'option "insérer> champ" n'est-elle pas disponible dans PowerPoint? C'est comme ça que je le faisais dans les mots ...
Seamus
Ouais, c'est ce que je cherchais. Je suis nouveau en 2007 et je ne le trouve pas.
Bob Rivers
oui, les champs n'existent pas dans Powerpoint, donc cela ne fonctionnera pas.
BBlake
4
À quel point est-il irritant que nous ayons encore besoin d'un complément à cette fonctionnalité très basique? J'ai ce problème depuis des années ...

Réponses:

2

Si vous recherchez une option ou un paramètre de configuration qui l'ajoutera automatiquement à chaque présentation que vous créez, il n'y en a pas. Cependant, si vous modifiez l'en-tête ou le pied de page, vous pouvez automatiquement y ajouter des numéros de diapositives et les faire apparaître sur toutes les diapositives.

http://office.microsoft.com/en-us/powerpoint/HA101181931033.aspx

BBlake
la source
2
Oui, c'est l'article que j'ai lu. Je ne veux pas avoir à mettre "de 10" manuellement. Je cherche quelque chose comme <#> de <##> ...
Bob Rivers
1
Ahh, ok, oui, cela ne fonctionnerait que si vous voulez juste le numéro de page. Si vous voulez "du total des diapositives", il n'y a pas de solution rapide. La seule autre solution à laquelle je peux penser est d'utiliser VBA (Visual Basic pour Applications) pour y parvenir. Je sais que cela fonctionnera, mais pourrait devenir un peu complexe.
BBlake
@BBlake Vous avez raison. VBA est nécessaire pour y parvenir. Voir ma réponse pour plus de détails sur la façon de procéder.
trejder
7

Il s'agit essentiellement du code de pwrpntuser étendu au guide exécutable complet.

Création d'une macro

  1. Dans PowerPoint 2007 et versions ultérieures, assurez-vous que vous avez enregistré votre présentation sous l' .pptmextension (présentation standard avec macros autorisée).

  2. Assurez-vous que vous avez ajouté des numéros de diapos en utilisant la méthode décrite dans cet article 1 .

  3. Ouvrez la fenêtre " Macro " 2 . Dans PowerPoint 2007 et versions ultérieures, cliquez sur l' Viewonglet (dernier), puis sur le Macrobouton dans le dernier groupe de barres d'outils. Dans les versions eariler, sélectionnez Tools > Macrodans le menu.

  4. Tapez un nom pour votre macro (par exemple PageCountUpdater) et cliquez sur Create.

  5. Coller le code macro (de pwrpntuser réponse de ou au- dessous) entre Sub PageCountUpdater()et End Sub. Changez vanla ligne la plus indentée en ofou quelque chose de similaire dans votre langue.

  6. Enregistrez la macro et fermez Microsoft Visual Basic pour Applications. Revenez à PowerPoint.

Vous avez terminé. Code à insérer (plein et avec "glue-word" corrigé):

Sub PageCountUpdater()
    Dim s As Slide
    Dim shp As Shape

    For Each s In ActivePresentation.Slides
        s.DisplayMasterShapes = True
        s.HeadersFooters.SlideNumber.Visible = msoTrue

        For Each shp In s.Shapes
            If Left(shp.Name, 12) = "Slide Number" Then
                shp.TextFrame.TextRange.Text = s.SlideNumber & " of " & ActivePresentation.Slides.Count
            End If

        Next
    Next
End Sub

Exécution de la macro

  1. Ouvrez à nouveau la fenêtre " Macro ".

  2. Sélectionnez la PageCountUpdatermacro enregistrée et appuyez sur Run.

Vous devez le faire à chaque fois manuellement. Un raccourci clavier serait le bienvenu. Mais ... il n'y a aucun moyen de changer les raccourcis de PowerPoint, sauf pour acheter un plugin commercial, pour lequel vous devez payer le prix à partir de 20 dollars par ordinateur. Voir fin de ceci ou de cet article pour plus de détails.

Suppression d'une macro

Cette macro est exécutée uniquement lorsque vous en avez besoin. Ce n'est pas une macro en direct. Il met à jour le champ avec le nombre réel de diapositives et c'est tout. Le champ lui-même est un champ de texte standard. Pas de magie. Cela signifie que vous pouvez facilement reconvertir votre fichier .pptxet jeter cette macro, une fois que vous êtes sûr, que votre présentation est terminée et que vous n'y ajouterez plus de diapositives. Le champ restera à sa place avec ses valeurs intactes, une fois la macro supprimée.

C'est confortable car de nombreux utilisateurs n'aiment pas les documents contenant des macros et de nombreux lieux de présentation, salons, conférences, etc. ne vous permettent tout simplement pas d'exécuter le .pptmfichier.

C'est également une bonne chose, car cette macro recrée les champs de numérotation sur toutes les diapositives (sauf celles du titre - voir la note de bas de page n ° 1 à la fin), même si vous les supprimez manuellement. Par conséquent, vous devez l'exécuter une dernière fois, une fois que vous êtes sûr du nombre final et de l'ordre des diapositives, puis vous pouvez le supprimer.

Ouverture d'un fichier compatible avec les macros

Si vous décidez de conserver l' .pptmextension et la macro à l'intérieur, ce document sera toujours ouvert avec les macros désactivées et vous devrez cliquer à Enable macroschaque fois (si vous exécutez sur les paramètres par défaut) pour les activer.

Si les documents sont les vôtres, vous vous en doutez, qu'ils ne contiennent aucun code malveillant et qu'ils sont tous stockés dans un emplacement sécurisé (c'est-à-dire pas dans un dossier temporel ou partagé), vous pouvez modifier les paramètres de chaque programme Office pour que ces fichiers soient toujours ouverts avec macros activées.

Le moyen le plus simple consiste à ajouter un dossier avec des présentations à macro pour sécuriser les emplacements dans PowerPoint.

Pour faire ça:

  1. Cliquez sur l' Fileonglet, le Optionsbouton, la Trust Centersection et le Trust Center Settingsbouton.

  2. Allez à la Trusted locationssection (seconde) et cliquez sur le Add new location...bouton.

  3. Collez ou sélectionnez le chemin du dossier dans le Pathchamp et vérifiez éventuellement que tous les sous-dossiers de l'emplacement ajouté doivent également être traités comme approuvés.

  4. Cliquez OKtrois fois pour confirmer et fermer toutes les fenêtres ouvertes. Rouvrez votre document compatible avec les macros.

À partir de ce moment, tous les documents ouverts à partir d'un emplacement ajouté ne doivent plus afficher d'avertissement et doivent toujours être ouverts avec les macros activées. Vous trouverez beaucoup plus de détails à ce sujet dans ce document de support Office.com .

Notes de bas de page

1 Dans la plupart des versions de PowerPoint, le sens de la diapositive de titre n'est pas déterminé comme première diapositive de la présentation , mais comme toute diapositive de style diapositive de titre . Vous pouvez voir différents types de diapositives lorsque vous en insérez une nouvelle. Cela signifie que, si vous n'avez pas de diapositive stylisée comme titre, des numéros de page seront ajoutés à toutes les diapositives. Et en face - si vous avez utilisé de nombreuses diapositives de titre dans la présentation, par exemple pour marquer différentes sections ou blocs, il vous manquera une numérotation sur chacune d'entre elles.

2 Tous les noms des éléments de l'interface graphique sont une traduction à la volée de mon édition polonaise de PowerPoint 2010. Dans d'autres versions ou éditions linguistiques de PowerPoint, ils peuvent être légèrement différents. Ajuste en accord.

trejder
la source
5

Assurez-vous d'abord que chaque diapositive a un numéro de série normal. Ajoutez ensuite un module, insérez le morceau de code suivant et appuyez sur F5 (Démarrer).

Dim s As Slide
Dim shp As Shape

For Each s In ActivePresentation.Slides
    s.DisplayMasterShapes = True
    s.HeadersFooters.SlideNumber.Visible = msoTrue

    For Each shp In s.Shapes
        If Left(shp.Name, 12) = "Slide Number" Then
            shp.TextFrame.TextRange.Text = s.SlideNumber & " van " & ActivePresentation.Slides.Count
        End If

    Next
Next
pwrpntuser
la source
3
Qu'est-ce qu'un module?
Pez Cuckow
Lorsque vous modifiez par programme le contenu de l'espace réservé au numéro de diapositive de cette façon, les numéros de diapositive ne sont plus mis à jour automatiquement lorsque vous supprimez / ajoutez / déplacez des diapositives. Je pense que cela crée plus de problèmes qu'il n'en résout.
OfficeAddinDev
3

Le complément de Bill Dilworth pour PowerPoint peut vous aider, selon la version de PowerPoint que vous utilisez. C'est exactement son but.

mpez0
la source
0

J'ai trouvé une page Web qui disait que vous avez mis <#> de x dans une zone de texte dans la diapositive principale, puis ajoutez un "numéro de diapositive" à la diapositive. Je l'ai fait fonctionner brièvement, mais quand je l'ai déplacé et réessayé, il n'a plus rempli le numéro de la diapositive complète dans x. Mais cette solution peut être envisageable pour la plupart des utilisateurs.

Michelle
la source
Oui ... et cette page Web est déjà mentionnée ici, dans une réponse plus ancienne de 1,5 an que la vôtre .
trejder
0

Voici un code légèrement différent qui met à jour votre pied de page avec "slide # of ##". J'ai choisi de ne pas compter les diapositives cachées dans le total. J'ai ce code qui s'exécute à partir de la souris sur un bouton d'action caché sur la diapositive 1.

Dim SlideTotal As Integer
Dim VisibleSlides As Integer
Dim SlideNum As Integer
Dim i As Integer

With ActivePresentation

    SlideTotal = .Slides.Count

    For i = 1 To SlideTotal
        If .Slides(i).SlideShowTransition.Hidden = msoFalse Then
            VisibleSlides = 1 + VisibleSlides
        End If
    Next

    For i = 1 To SlideTotal
        If .Slides(i).SlideShowTransition.Hidden = msoFalse Then
            SlideNum = 1 + SlideNum
            .Slides(i).HeadersFooters.Footer.Visible = msoCTrue
            .Slides(i).HeadersFooters.Footer.Text = "Slide " & SlideNum & " of " & VisibleSlides
        Else
            .Slides(i).HeadersFooters.Footer.Visible = -msoFalse
        End If
    Next

End With
Chris Sandlin
la source
Bienvenue dans Super User. Veuillez noter que vous avez répondu à une question vieille de plusieurs années et que vous avez une réponse acceptée. Bien qu'il n'y ait rien de mal à le faire, il est peu probable que vous obteniez une réponse.
CharlieRB