ERREUR 429 Un composant ActiveX ne peut pas créer d’Objet

michel90

XLDnaute Nouveau
Bonjour,
j'ai un problème que je n'arrive pas à résoudre depuis 2 mois.

j'ai un fichier excel qui alimente un PowerPoint avec une macro.
dans cette macro tout fonction sauf cette ligne de code

VB:
ActivePresentation.ExportAsFixedFormat ActivePresentation.Path & "\sortie\carte\" & Format(Date, "ddmmyyyy") & "_" & "Situation Relais" & ".pdf", ppFixedFormatTypePDF, ppFixedFormatIntentPrint

En effet, ce code permet de prendre le PowerPoint ouvert, il fait une copie, il transforme en PDF et il exporte vers un dossier nommé "carte"
quand le programme s’exécute et dès qu'il arrive a cette ligne, il génère une erreur.

(ERREUR 429 Un composant ActiveX ne peut pas créer d’Objet)

j'ai essayé toutes les référence Microsoft ActiveX mais toujours la même erreur.

Pouvez vous m'aider SVP, je suis vraiment perdu :(
 

michel90

XLDnaute Nouveau
J'ai du nouveau. J'ai réussi à reproduire l'erreur et je crois même d'ailleurs savoir comment l'éviter. Mais je ne veux pas que vous fassiez comme ça.
Vous partez, je suppose, d'une présentation existante, n'est-ce pas. Or je viens de voir que la méthode Open renvoie un objet Presentation. Il suffit donc en principe de le récupérer au passage :
VB:
Dim PPApp As New PowerPoint.Application, Chemin As String, NomFic As String, Présen As PowerPoint.Presentation
…
Set Présen = PPApp.Presentations.Open(Chemin & "\" & NomFic)
Comme ça vous pourrez faire votre Présen.ExportAsFixedFormat Présen.Path & "\sortie\carte\" & Format(Date, "ddmmyyyy") & "_" & "Situation Relais" & ".pdf", ppFixedFormatTypePDF, ppFixedFormatIntentPrint
J'ai une dernière question,
lors de le la mise a jour du PowerPoint, je souhaite cacher ça. C'est a dire le PowerPoint reste réduit et ne s'affiche pas sur l'écran comme ça les utilisateurs ne s'amusent pas a toucher des choses. Bien entendu j'ai utilisé ces deux code!
Application.ScreenUpdating = False
'le code
Application.ScreenUpdating = True

malheureusement ça ne change rien , le PPT s'ouvre je vois le déroulement des mises a jours. je ne sais pas quoi faire
 

Dranreb

XLDnaute Barbatruc
Je ne sais pas bien non plus.
Cherchez du coté de méthodes et propriétés de PptApp
Il suffit de taper un point derrière pour avoir une liste de ce qu'on peut mettre après, c'est un des avantages des liaisons anticipées permises par les déclarations d'objets explicites. Ce qui n'est pas le cas de vos variables pwpt et presppt puisque ce sont des Variant.
pwpt me semble faire double emploi avec PptApp. Pas besoin de CreateObject non plus: Il suffit de mettre New devant le nom du type explicite pour former une expression représentant un nouvel exemplaire de l'objet.
 

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 289
Membres
103 170
dernier inscrit
HASSEN@45