Dans un long diaporama composé de plusieurs parties, on peut naviguer à l'aide d'une liste déroulante qui permettrait depuis n'importe quelle diapo d'atteindre une partie.
Le mieux, pour commencer, est de créer des diaporamas personnalisés correspondant à chaque partie de la présentation :
Il suffit de donner un nom au diaporama et de faire glisser toutes les diapos y afférent.
Nous allons maintenant insérer la liste déroulante. Pour y avoir accès depuis toutes les diapositives, on va l'insérer dans le masque :
PowerPoint 2002-2003
Clic droit sur la barre d'outils, Boîte à outils Contrôles
PowerPoint à partir de 2007
Onglet Développeur, Groupe Contrôles
Cliquez sur le contrôle "Zone de liste déroulante" et tracez le contrôle à l'endroit de votre choix. Cliquez dessus avec le bouton droit et choisissez Propriétés pour mettre la liste en forme (choix et taille de la police, couleurs, etc.).
Ensuite, double-cliquez sur la liste pour écrire le code. Vous êtes maintenant dans l'éditeur VBA. collez ces deux macros :
Dans cette première macro, vous mettrez autant de lignes .Additem qu'il y a de parties à afficher dans la liste déroulante.
Private Sub ComboBox1_DropButtonClick() If ComboBox1.ListCount =0Then With ComboBox1 .AddItem "Partie1" .AddItem "Partie2" End With End If End Sub
Dans cette seconde macro, vous mettrez autant de lignes "If combobox1.value=..." qu'il y a de parties :
Private Sub ComboBox1_Change() If ComboBox1.Value ="Partie1"Then SlideShowWindows(1).View.GotoNamedShow "Partie1" If ComboBox1.Value ="Partie2"Then SlideShowWindows(1).View.GotoNamedShow "Partie2" End Sub
Lancez le diaporama, vous pouvez maintenant utiliser la liste déroulante.
Aller plus loin...
Si vous souhaitez qu'un item de votre liste déroulante pointe :
vers une diapo en particulier, le code sera :
If ComboBox1.Value ="page 3"Then SlideShowWindows(1).View.GotoSlide 3
vers une autre présentation, le code sera :
If ComboBox1.Value ="mon autre présentation"Then Presentations.Open FileName:="C:\mon_fichier.ppt"
vers une adresse externe (URL), le code sera :
If ComboBox1.Value ="mon site"Then ActivePresentation.FollowHyperlink Address:="http://faqword.com"