Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Powerpoint > VBA PowerPoint

Réponse
 
Outils de la discussion
Vieux 07/11/2008, 12h33   #1 (permalink)
Invité de passage
 
Date d'inscription: novembre 2008
Messages: 2
Par défaut Powerpoint automatisation diaporama

Bonjour à tous,

voici mon petit problème:

je suis dans une association ou nous utilisons un écran d'affichage pour diffuser des informations.

c'est un fichier powerpoint qui tourne en boucle en diaporama.

actuelement, à chaque modification du powerpoint, je suis obliger d'arreter le diaporama aet de le relancer.
ainsi que tous les matins pour changer la date du jour.

je pensais à une automatisation avec une macro qui dès la fin du diaporama "recharge" le fichier afin de reprendre les modifications.

le problème est que je ne connais pas du tout vb.vba, je n'ai aucune notion, mais je suppose que le code ne doit pas etre tres compliqué du style "à la fin du diporama recharger le fichier style "F5" ou le fermer puis le rouvrir"

est ce que quelqu'un aurait la gentillesse de m'indiquer un code ?

merci

:hello:
dcnowhere est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/11/2008, 13h53   #2 (permalink)
Responsable PowerPoint
 
Avatar de Philippe JOCHMANS
 
Date d'inscription: mai 2005
Localisation: Loir et Cher et Touraine
Âge: 40
Messages: 10 399
Envoyer un message via MSN à Philippe JOCHMANS
Par défaut

Bonjour et bienvenue sur le forum Office de DVP

Citation:
Envoyé par dcnowhere Voir le message
actuellement, à chaque modification du powerpoint, je suis obliger d'arrêter le diaporama et de le relancer.
ainsi que tous les matins pour changer la date du jour.
Normal, puisque tu fais des modifications.
Quelles sortent de modifications effectues-tu sur ce diaporama (à part la date) ?

Philippe
__________________
En cas de questions techniques par MP ou message visiteur
Office : :Les Cours, Les FAQs
VB : Les Cours, Les FAQs
Mes articles : ici
Me connaitre
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/11/2008, 15h12   #3 (permalink)
Invité de passage
 
Date d'inscription: novembre 2008
Messages: 2
Par défaut

Hello Philippe, merci pour ton accueil

J'effectue des modifications ponctuelles genre rajouter une diapo avec réunion le ....

j'ai oublié de préciser quelques choses justement c'est que le fichier est dans un dossier partagé qui est sur mon ordinateur, d'où je fais les modification. Et c'est un autre ordinateur relié à l'écran qui le projecte, grace à un raccourci qui pointe directement sur mon .ppt partagé.

l'avantage de mon souhait c'est de faire les modifs et que l'ordinateur qui projecte rafraichisse comme un grand sans que je lui demande le ppt, et donc que je n'ai pas à intervenir pour relancer manuellement le ppt

j'éspère être clair
dcnowhere est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 07/11/2008, 15h17   #4 (permalink)
Responsable PowerPoint
 
Avatar de Philippe JOCHMANS
 
Date d'inscription: mai 2005
Localisation: Loir et Cher et Touraine
Âge: 40
Messages: 10 399
Envoyer un message via MSN à Philippe JOCHMANS
Par défaut

Bonjour

Alors là je ne pense pas que ce soit possible (je ne sais pas tout, il y a peut-être une solution).

Par contre comment peux-tu dire à l'autre ordinateur : c'est bon, tu peux y aller, arrête toi et prends le nouveau diaporama.

Peut-être une solution, car je ne pense pas que tu changes les diapositives toutes les heures , c'est d'utiliser les tâches planifiés de l'autre ordinateur, qui à l'instant t arrête le diaporama en cours et à t + 1 min par exemple le relance, automatiquement il aura le fichier à jour car dans un dossier partagé.

C'est juste une idée à tester, car je ne vois pas comment indiquer à l'autre qu'il faut qu'il se relance avec le fichier mise à jour, même par macro.

Edit: Je dis peut-être des bêtises (je n'ai jamais travaillé sur un fichier partagé), mais tu dois arrêter la présentation sur l'ordinateur qui présente pour faire les modifs, donc ce que je viens de te dire n'est pas possible.

Philippe
__________________
En cas de questions techniques par MP ou message visiteur
Office : :Les Cours, Les FAQs
VB : Les Cours, Les FAQs
Mes articles : ici
Me connaitre

Dernière modification par Philippe JOCHMANS ; 07/11/2008 à 15h38
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 08/11/2008, 12h42   #5 (permalink)
Membre Expert
 
Avatar de JackOuYA
 
Date d'inscription: juin 2008
Messages: 1 038
Par défaut

bonjour,

je te propose de tester une solution, pour cela utiliser un autre powerpoint "lanceur", c'est lui qui contient la macro de lancement ..

Une seule Diapo pour ce powerpoint avec par exemple un bouton de lancement (où un logo...)

le principe une action sur ce bouton lance un premier chargement de la présentation à afficher , lorsque celle-ci atteind la derniére diapo , on ferme cette présentation et on la recharge.
Pour détecter l'événement derniére diapo, il faut s'interresser au événements de l'application powerpoint voir aide en ligne :


le code du bouton de lancement , dans diapo1 du lanceur :

Code :
Private Sub CommandButton1_Click()
  InitializeApp
End Sub
 
Le code InitialiseApp dans un module de la présentation de lancement :
Code :
Dim X As New EventClassModule
Dim p As Presentation
 
Sub InitializeApp()
    Set X.App = Application
    LancePresentation
End Sub
 
Sub LancePresentation()
 
 
Set p = Presentations.Open(FileName:="C:\tmp\1.pptx", ReadOnly:=msoTrue)
    With p.SlideShowSettings
        .ShowType = ppShowTypeSpeaker
        .LoopUntilStopped = msoFalse
        .ShowWithNarration = msoTrue
        .ShowWithAnimation = msoTrue
        .LoopUntilStopped = msoTrue
        .RangeType = ppShowAll
        .AdvanceMode = ppSlideShowUseSlideTimings
        .PointerColor.SchemeColor = ppForeground
        .Run
    End With
    
End Sub
 
Sub FinPresentation()
  If Not p Is Nothing Then
    
    p.Close
    ActivePresentation.SlideShowWindow.Activate
    LancePresentation 'Relance la présentation ...On pourrai rajouter un test..
    
   End If
End Sub
 
 
la procédure LAnceAnimation effectue le chargement de ta présentation (ici c:\tmp\1.ppx)

la procédure FinPresentation appellé en fin de présentation permet de relancer la presentation..

pour finir la gerstion des événements du classeur comme écrit dans l'exemple de l'aide en ligne , rajoute un module de classe "EventClassModule"

et le code sur changement de diapo :
Code :
Public WithEvents App As Application
 
 
Private Sub App_SlideShowNextSlide(ByVal Wn As SlideShowWindow)
 If Wn.View.Slide.SlideIndex = Wn.Presentation.Slides.Count Then
   FinPresentation
 End If
End Sub
 
n'hésite pas à reposer des questions si mon discour te semble obscur..

tu dis quoi ..?
__________________
JacqueS.

Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

Pour devenir mon ami laissez moi un message
JackOuYA est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 08/11/2008, 15h07   #6 (permalink)
Responsable PowerPoint
 
Avatar de Philippe JOCHMANS
 
Date d'inscription: mai 2005
Localisation: Loir et Cher et Touraine
Âge: 40
Messages: 10 399
Envoyer un message via MSN à Philippe JOCHMANS
Par défaut

Re

J'avais une autre idée, deux ppt.

On lance un ppt par les tâches planifiés.
On modifie le deuxième.
A une heure donnée, une tâche planifiée arrête le ppt lance un fichier en VB Script qui remplace le ppt en cours par le nouveau.

@JackOuYA

Ton idée est intéressante, mais de ce que j'ai compris il y a un seul fichier, donc il ne pourra faire les modifications s'il est en cours.

Philippe
__________________
En cas de questions techniques par MP ou message visiteur
Office : :Les Cours, Les FAQs
VB : Les Cours, Les FAQs
Mes articles : ici
Me connaitre
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 08/11/2008, 15h21   #7 (permalink)
Membre Expert
 
Avatar de JackOuYA
 
Date d'inscription: juin 2008
Messages: 1 038
Par défaut

@Philippe
Citation:
Envoyé par JackOuYA Voir le message
...
je te propose de tester une solution, pour cela utiliser un autre powerpoint "lanceur", c'est lui qui contient la macro de lancement ..

Une seule Diapo pour ce powerpoint avec par exemple un bouton de lancement (où un logo...)...
sans commentaires
__________________
JacqueS.

Ps: je ne télécharge les piéces jointes qu'en dernier recours .(et encore...)

Pour devenir mon ami laissez moi un message
JackOuYA est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 08/11/2008, 17h44   #8 (permalink)
Responsable PowerPoint
 
Avatar de Philippe JOCHMANS
 
Date d'inscription: mai 2005
Localisation: Loir et Cher et Touraine
Âge: 40
Messages: 10 399
Envoyer un message via MSN à Philippe JOCHMANS
Par défaut

Citation:
Envoyé par JackOuYA Voir le message
@Philippe
sans commentaires
mal lu, semaine dure , je vais tester car je trouves l'idée intéressante.

Philippe
__________________
En cas de questions techniques par MP ou message visiteur
Office : :Les Cours, Les FAQs
VB : Les Cours, Les FAQs
Mes articles : ici
Me connaitre
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation
NEWS MS-OFFICEFAQs OFFICETUTORIELS OFFICELIVRES OFFICESOURCES VBA

Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Powerpoint > VBA PowerPoint



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide