- VBA - Vérifier Présentations PPT ouvertes [Résolu] - VB/VBA/VBS - Programmation
Marsh Posté le 29-01-2007 à 17:29:29
bonjour,
à tout hasard, il faudrait que tu vérifies dans ton éditeur de macros (Microsoft Visual Basic), dans le menu "Outils", l'option "Références".
Si tu dois cocher "Microsoft Powerpoint 11.0 Object library", c'est peut être là.
chez moi, c'est coché par défaut...
dalcap
Marsh Posté le 29-01-2007 à 17:48:34
Merci de ta réponse, mais "Microsoft Powerpoint 11.0 Object library" est déjà coché, sans ca, je ne pourrais pas générer de ppt.
Il doit manquer autre chose...
Marsh Posté le 29-01-2007 à 17:54:32
j'ai copié/collé l'exemple de la page que tu as indiqué, et ça marche chez moi (en nommant mon ppt contenant la macro "test.ppt" ).
peux-tu essayer juste cette macro là dans un nouveau powerpoint ??
Edit : ma version, c'est Powerpoint 2003...
Marsh Posté le 29-01-2007 à 18:02:47
Niet.. même message d'erreur.
Peux-tu me dire quels sont les bibliothèqus cochées chez toi ?
Merci.
Marsh Posté le 29-01-2007 à 18:09:45
les 4 premiers :
Visual Basic for Applications,
Microsoft PowerPoint 11.0 Object Library,
OLE Automation,
Microsoft Office 11.0 Object Library
Marsh Posté le 29-01-2007 à 18:10:56
... par contre, je suis en train de "googler" : "erreur 429 controle ActiveX ne peut pas créer objet"
et ça me donne des posts sur des forums qui parlent d'installations qui sont à réparer, et de dll à réenregistrer manuellement avec regserv... peut être as-tu installé / désinstallé quelque chose dernièrement ?
Marsh Posté le 29-01-2007 à 19:10:30
Merci 1000 fois pour ces infos.
Je vais regarder ca.
Je te tiens au courant.
Marsh Posté le 30-01-2007 à 11:14:21
Bon, j'ai trouvé (avec de l'aide).
Déjà il y avait malentendu : je dois controler ppt depuis une macro EXCEL (effectivement le code marchait tel quel très bien dans une macro ppt.)
Dans Excel, il suffisait de rerendre le préfixe ppApp qui me servait à générer mes ppt :
Dim ppApp as Powerpoint.Application
Set ppApp = CreateObject("Powerpoint.Application" )
ce qui donne :
Dim oPresObject As Powerpoint.Presentation
For Each oPresObject In ppApp.Presentations
Bref,encore merci d'avoir passé autant de temps.
Alexandre
Marsh Posté le 30-01-2007 à 11:19:03
aprilthe5ith a écrit : Bon, j'ai trouvé (avec de l'aide). |
bonjour,
content que tu aies trouvé la solution.
bon courage pour la suite.
(un petit tag [résolu] dans le titre ? )
Marsh Posté le 30-01-2007 à 11:29:21
il faut juste éditer ton premier poste, si je ne m'abuse ;-)
Marsh Posté le 29-01-2007 à 14:10:16
Bonjour,
Je dois vérifier que parmi les ppt ouverts, aucun ne s'appelle "BlopBlop".
Conformément à http://support.microsoft.com/kb/163301/fr, j'écris :
Dim oPresObject As Presentation
For Each oPresObject In PowerPoint.Presentations
...
next oPresObject
J'obtiens, dès le "For each", une erreur 429 : "Un controle ActiveX ne peut pas créer d'objet"
Visiblement les erreur 429 sont liées aux bibliothèques... il doit falloir que je coche un truc en plus de "Microsoft PowerPoint 11.0 Object Library"
Merci pour votre aide.
Message édité par aprilthe5ith le 30-01-2007 à 11:33:15