Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Powerpoint > VBA PowerPoint
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/04/2006, 11h54   #1
Invité de passage
 
Inscription : avril 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 5
Points : 0
Points : 0
Par défaut [VBA-PP]Quelle procédure est appelée au démarrage de PowerPoint

Bonjour,
j'aimerais écrire dans une macro, le code pour toujours afficher un masque lors de la création d'une nouvelle présentation.

J'ai déjà écrit ce code :
Code :
1
2
3
4
5
6
Sub Auto_Open()
Presentations.Add WithWindow:=msoTrue
ActiveWindow.View.GotoSlide Index:=ActivePresentation.Slides.Add(Index:=1, Layout:=ppLayoutTitle).SlideIndex
ActiveWindow.Selection.SlideRange.Layout = ppLayoutTitle
ActivePresentation.ApplyTemplate FileName:="C:\Documents and Settings\xxx\Application Data\Microsoft\Modèles\masque.pot"
End Sub
cette procédure est lancée lors du chargement des addins, ce qui veut dire que lorsque j'ouvre powerpoint une première fois, ce code est exécuté, et le masque est bien inséré. Par contre lorsque j'ouvre une deuxième fois powerpoint (donc j'ai 2 session de powerpoint ouverte), ce code n'est pas exécuté, et donc la nouvelle présentation est vierge.

Donc ce que je recherche plutôt, ce serait de savoir quelle procédure est exécutée à chaque lancement d'une nouvelle présentation.

Quelqu'un aurait une solution?
jorge7281 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2006, 12h21   #2
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 854
Points : 16 854
Envoyer un message via Skype™ à bbil
ben il n'y en as pas...

j'avais trouvé une solution, sur le Web... de mémoire c'était une premiére diapo .. ou un èvénement de "mouvement souris" permettait de déclencher un simulis.. de Auto_Open..
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2006, 12h45   #3
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Je confirme, pas d'auto_open dans ppt mais tu peux lancer une macro PPT depuis une autre appli. Si tu peux faire un petit .exe dans VB6.
Regarde là :
http://www.developpez.net/forums/sho...ht=Power+Point

A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2006, 16h01   #4
Invité de passage
 
Inscription : avril 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 5
Points : 0
Points : 0
merci des réponses mais j'ai trouvé.
Il y avait bien moyen :
Citation:
Using Events with the Application Object
To create an event handler for an event of the Application object, you need to complete the following three steps:
  1. Declare an object variable in a class module to respond to the events.
  2. Write the specific event procedures.
  3. Initialize the declared object from another module.
Declare the Object Variable
Before you can write procedures for the events of the Application object, you must create a new class module and declare an object of type Application with events. For example, assume that a new class module is created and called EventClassModule. The new class module contains the following code.
Public WithEvents App As Application Write the Event Procedures
After the new object has been declared with events, it appears in the Object list in the class module, and you can write event procedures for the new object. (When you select the new object in the Object list, the valid events for that object are listed in the Procedure list.) Select an event from the Procedure list; an empty procedure is added to the class module.
Code :
1
2
Private Sub App_NewPresentation() 
End Sub
Initializing the Declared Object

Before the procedure will run, you must connect the declared object in the class module (App in this example) with the Application object. You can do this with the following code from any module.
Code :
1
2
3
4
Dim X As New EventClassModule
Sub InitializeApp()
Set X.App = Application
End Sub
Run the InitializeApp procedure. After the procedure is run, the App object in the class module points to the Microsoft PowerPoint Application object, and the event procedures in the class module will run when the events occur.
----------------------------------------------------------------------
voilà le code pour pouvoir lancer des morceaux de codes au démarrage de powerpoint. Dans le module "App_NewPresentation", il faut mettre le code qu'on veut exécuter.
Bien à vous.
jorge7281 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2006, 16h20   #5
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Merci de ta réponse à ta question C'est effectivement le moyen signalé par bbil.
Pour la peine, j'ai mis ta réponse dans les trucs et astuces.

A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/04/2006, 16h20   #6
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 854
Points : 16 854
Envoyer un message via Skype™ à bbil
c'est illisible ... ? ça marche au moins ? mais comment lance tu Run the InitializeApp
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2006, 14h47   #7
Invité de passage
 
Inscription : avril 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 5
Points : 0
Points : 0
Je l'ai testé et oui ca marche. Il s'agit d'une procédure qui s'exécute automatiquement lors de l'ouverture d'une nouvelle présentation.
Il faut suivre les 3 points comme indiqués et ca marche parfaitement.

La procédure se lance automatiquement bbil.

au fait, qu'est-ce qui est illisible?
jorge7281 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2006, 14h51   #8
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 854
Points : 16 854
Envoyer un message via Skype™ à bbil
Citation:
Envoyé par jorge7281
au fait, qu'est-ce qui est illisible?
dis merci à AlainTech et ouskel'n'or qui ont repris la mise en forme de ton texte
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2006, 15h04   #9
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Hello bbil, jorge7281 n'y est pas pour grand chose, un c/c de texte prend parfois ces allures là sur vbulletin. Je pense que ça être réparé...
Ceci dit, tu as bien fait de le signaler... J'avais déjà corrigé dans Word
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2006, 15h11   #10
Modérateur
 
Avatar de AlainTech
 
Homme Alain Gerard
Consultant informatique
Inscription : mai 2005
Messages : 3 675
Détails du profil
Informations personnelles :
Nom : Homme Alain Gerard
Âge : 58
Localisation : Belgique

Informations professionnelles :
Activité : Consultant informatique
Secteur : Finance

Informations forums :
Inscription : mai 2005
Messages : 3 675
Points : 7 645
Points : 7 645
Et moi j'ai mis le texte de la référence en citation...

Comme quoi, en s'y mettant à plusieurs...

Je rêve du jour où les posteurs se rendront compte que leurs messages ne sont pas clairs et les corrigeront eux-mêmes.

Je pourrai, alors peut-être, un peu plus répondre à des questions techniques.
__________________
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
AlainTech est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2006, 17h13   #11
Inactif
 
Avatar de ouskel'n'or
 
Inscription : février 2005
Messages : 12 466
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 12 466
Points : 11 930
Points : 11 930
Hello Alain,
Donc, et si j'ai bien compris, si on met le texte en citation on n'a plus ces [FONT machin] à toutes les lignes. Bon à savoir
Je verrai à l'usage mais merci.

A+
ouskel'n'or est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/04/2006, 17h31   #12
Modérateur
 
Avatar de AlainTech
 
Homme Alain Gerard
Consultant informatique
Inscription : mai 2005
Messages : 3 675
Détails du profil
Informations personnelles :
Nom : Homme Alain Gerard
Âge : 58
Localisation : Belgique

Informations professionnelles :
Activité : Consultant informatique
Secteur : Finance

Informations forums :
Inscription : mai 2005
Messages : 3 675
Points : 7 645
Points : 7 645
Euh, non...

Je suis juste passé après toi pour fignoler la mise en forme.

Désolé de te décevoir.
__________________
N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
Pensez aussi à voter pour les réponses qui vous ont aidés.
------------
Je dois beaucoup de mes connaissances à mes erreurs!
AlainTech est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h43.


 
 
 
 
Partenaires

Hébergement Web