A voir également:
- Powerpoint champ automatique
- Visionneuse powerpoint - Télécharger - Présentation
- Comment mettre une vidéo sur powerpoint - Guide
- Réparer fichier powerpoint endommagé gratuit - Télécharger - Suite bureautique
- Repair Powerpoint Presentation - Télécharger - Récupération de données
- Message automatique thunderbird - Guide
5 réponses
m@rina
Messages postés
19853
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
28 mars 2024
11 258
19 févr. 2022 à 00:38
19 févr. 2022 à 00:38
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" :
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
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
Raymond PENTIER
Messages postés
58330
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
28 mars 2024
17 087
17 févr. 2022 à 16:56
17 févr. 2022 à 16:56
Bonjour.
Non ; à mon niveau je n'ai rien trouvé de tel.
Seule m@rina pourrait peut-être proposer une solution.
Non ; à mon niveau je n'ai rien trouvé de tel.
Seule m@rina pourrait peut-être proposer une solution.
m@rina
Messages postés
19853
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
28 mars 2024
11 258
18 févr. 2022 à 01:51
18 févr. 2022 à 01:51
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
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
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 ?
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 ?
m@rina
Messages postés
19853
Date d'inscription
mardi 12 juin 2007
Statut
Contributeur
Dernière intervention
28 mars 2024
11 258
18 févr. 2022 à 16:17
18 févr. 2022 à 16:17
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
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
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.
"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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
21 févr. 2022 à 08:55
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 !