Champ automatique pour diaporama personnalisé

dx26d2 -  
 dx26d2 -
Bonjour,

Malgré de nombreuses recherches sur internet, impossible de trouver une solution donc j'ai espoir que quelqu'un puisse m'aider à résoudre mon problème. Le voici :

J'ai un document PowerPoint où plusieurs diaporamas personnalisés sont enregistrés. Prenons l'exemple que j'en ai 3 : A, B et C.

Je souhaiterai que lorsque je lance par exemple le diapo A, il y ai un champ dans une slide (ou idéalement un calque) qui soit rempli automatiquement avec le nom de ce diaporama personnalisé. Et si je lance le diaporama C, que ce champ soit remplacé par "C", etc...

Est-ce que c'est possible selon vous ?

Merci d'avance pour votre aide !

5 réponses

m@rina Messages postés 23060 Date d'inscription   Statut Contributeur Dernière intervention   11 440
 
Bonsoir,

Il y a très peu de macros événementielles dans PowerPoint (contrairement à Excel), et en l'occurrence il n'y en a pas au lancement d'un diaporama (ou alors il faut faire des modules de classe, mais ça pose d'autres problèmes). En revanche, on peut mettre une macro événementielle sur l'affichage d'une ou plusieurs diapos en particulier. Si par exemple la première diapo fait partie de tous les diaporamas personnalisés, on peut faire une macro très simple qui va fonctionner dès que la première diapo s'affichera (et donc au lancement du diaporama).

La macro suivante part du principe que vous avez inséré une zone de texte dans le cadre maître, nommée "nom_dia" :

Sub OnSlideShowPageChange(ByVal diaporama As SlideShowWindow)
Dim nom As String
nom = SlideShowWindows(1).View.SlideShowName
If diaporama.View.CurrentShowPosition = 1 Then
ActivePresentation.SlideMaster.Shapes("nom_dia").TextFrame.TextRange = nom
End If
End Sub


Sinon, on pourrait lancer une macro avant. Cette macro demanderait quel est le diaporama à afficher et en même temps changerait le contenu de la zone de texte.

m@rina



1
dx26d2
 
Bonjour,

Je reviens ici après avoir essayer de faire fonctionner la macro en question.

Malheuresement, je n'arrive pas a la faire fonctionner malgré avoir respecté toutes les indications.

J'aurais 3 questions du coup :

- Que représente la valeur "diaporama" dans la macro ? Est ce qu'il faut que je le remplace par quelque chose qui est en lien avec mon diaporama ? (Comme le nom du fichier par exemple, ou autre ?)

- Sur la gauche de l'ecran, lorsque j'ai cliqué sur "Visual Basic" dans l'onglet Développeur, j'ai plusieurs onglets : Slide29, SlideLayout94, SlideMaster84, etc... Dans lequel de ces onglets je dois écrire ma macro ? De plus, qu'est ce que le "diaporama maitre" dont tu parlais ?

- Si la 1ere page de chacun de mes diaporamas personnalisé est différente (mais que certaines autres diapo sont en commun), qu'est ce qui va changer dans la macro que tu m'as envoyé pour que cela fonctionne ?

Désolé pour toutes ces questions, je débute tout juste dans ce milieu. Merci d'avance !
0
Raymond PENTIER Messages postés 58965 Date d'inscription   Statut Contributeur Dernière intervention   17 330
 
Bonjour.

Non ; à mon niveau je n'ai rien trouvé de tel.
Seule m@rina pourrait peut-être proposer une solution.
0
m@rina Messages postés 23060 Date d'inscription   Statut Contributeur Dernière intervention   11 440
 
Bonsoir,

Oui, c'est possible avec une macro.

Bon, dans PPT, il n'y a ni champ, ni calque... Enfin ça ne fait pas partie du langage PowerPoint.
Tu peux avoir par exemple une zone de texte qui se remplit avec le nom du diaporama.

Ici, j'explique comment faire une liste déroulante avec les noms de chaque diaporama personnalisé. Quand tu lances le diaporama, d'une manière générale, tu cliques dans la liste déroulante pour choisir le nom du diaporama qui restera donc inscrit dans ce contrôle.

https://faqword.com/index.php/powerpoint/30-diaporama/675-comment-naviguer-dans-un-diaporama-a-laide-dune-liste-deroulante

Si tu mets ta liste déroulante dans le masque principal, le nom restera sur chaque diapo. Peut être que cette solution simple te convient.

m@rina
0
dx26d2
 
Bonjour,

Merci pour ta réponse, ça m'aide déjà un petit peu !

Cependant, est il possible comme tu l'as dit au début de ta réponse d'afficher le nom du diaporama personnalisé en cours dans une zone de texte ? Si oui, comment ?

Merci d'avance !
0
dx26d2 > dx26d2
 
Petit update :

J'ai réussi à bien avancer, j'arrive a sortir le numéro de la diapo personnalisé sélectionnée mais seulement à l'aide d'un clic alors que je souhaiterai que le label se mette à jour lorsque je passe en mode diaporama. Voici mon code :

Sub Label1_click()

With SlideShowWindows(1).View
Label1.Caption = ""
If .IsNamedShow Then
Label1.Caption = .SlideShowName
End If

End With

End Sub


Le problème vient sûrement du Label1_click() où je ne sais pas par quoi remplacer le "click".

Quelqu'un aurait une idée ?
0
m@rina Messages postés 23060 Date d'inscription   Statut Contributeur Dernière intervention   11 440
 
Bonjour,

Tu ne peux pas faire partir la macro hors diaporama. Donc, il faut que tu choisisses donc manuellement le diaporama à lancer.

A ce moment là, sans clic, en fonction du diaporama choisi, le nom pourra se mettre dans une zone de texte. Et tout dépend si tu veux le nom du diaporama sur chaque diapo ou juste sur la première diapo par exemple.

Si je comprends bien, tu as des diapos qui sont communes à plusieurs de tes diaporamas ?

m@rina
0
dx26d2
 
Bonjour M@rina,

"Tu ne peux pas faire partir la macro hors diaporama. Donc, il faut que tu choisisses donc manuellement le diaporama à lancer."

-> Oui c'est ce que je souhaite faire, lancer la macro lorsque je passe en mode diaporama une fois le diapo sélectionné manuellement.

"A ce moment là, sans clic, en fonction du diaporama choisi, le nom pourra se mettre dans une zone de texte. Et tout dépend si tu veux le nom du diaporama sur chaque diapo ou juste sur la première diapo par exemple."

-> Si possible, j'aimerai que le nom du diaporama apparaisse dans chaque diapo, c'est pour ça que je l'ai mis dans les masques de diapositives afin qu'il apparaisse tout le temps. Et c'est en effet ce que je souhaite faire, que le nom se mette dans la zone de texte sans avoir à cliquer une fois le diaporama personnalisé lancé. Que la zone de texte s'actualise automatique au lancement du diaporama en somme.

"Si je comprends bien, tu as des diapos qui sont communes à plusieurs de tes diaporamas ?"

-> C''est exactement ça.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dx26d2
 
Bonjour,

Ça me semble très intéressant, il va falloir que j'essaye cette macro, merci beaucoup !
Je te tiendrais au courant lorsque je l'aurais essayer pour te dire si cela fonctionne.

Merci encore !
0