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.
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
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.
Finalement je me suis pas trompé. c'était le bon code, j'ai redémarré mon PC et hop tout marche nickel.
Si non pour la variable pwpt, effectivement elle me sert de rien, du coup je l'ai viré.