Ouvrir un pps avec VBA

Bonjour,

Après multitudes de recherche et d'essais, je n'arrive pas à trouver un codage vba pour ouvrir un diapo pps (avec ou sans shell). Pourtant j'ai bien activier la librairie poxerpoint 2016 dans mes références.

Voici le dernier code essayé:

Private Sub Venise_Click()

Dim pptApp As PowerPoint.Application

Set pptApp = New PowerPoint.Application

pptApp.Presentations.Open "C:\chemin complet pour acc?der au fichier\VENISE.pps"

End Sub

Le message d'erreur :

Erreur d'éxecution '-2147024873 (80070003)'

La méthode 'open' de l'objet 'présentations' a échoué

Pour info, je souhaite avoir un userform avec des boutons click afin d'ouvrir des diapos

Une âme charitable pour me donner un coup de main svp

Bonjour,

Voici un exemple,

Dim PptApp As PowerPoint.Application
Dim PptDoc As PowerPoint.Presentation

Set PptApp = CreateObject("Powerpoint.Application")
PptApp.Visible = True
Set PptDoc = PptApp.Presentations.Open("C:\LaPresentation.ppt")

Bonjour,

en tête de ton code VBA, déclare :

Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

ensuite, inclus cette instruction

ShellExecute 0, "", Chemin & "\" & Fichier, "", "", 0

définis Chemin et Fichier bien sûr

Bonjour Sabv,

merci pour ta réponse mais après essai j'ai le même résultat:

Erreur d'éxecution '-2147024873 (80070003)'

La méthode 'open' de l'objet 'présentations' a échoué

le débogage met cette ligne en erreur:

Set PptDoc = PptApp.Presentations.Open("C:\Utilisateurs\hamel\Images\diaporama\VENISE.ppt")

j'ai revérifier le chemin d'accès en respectant la casse, essayé avec un pps et un ppt. Powerpoint s'ouvre mais le message d'erreur à ce moment là....

Ahmel in lyric

Bonjour Steelson,

j'ai essayé le code et il me met un message d'erreur "problème de syntaxe" En sachant qu'au premier essai il y avait une erreur concernant la fonction DECLARE qui n'était pas compatible sur du 64 bits, c'est pour cela que tu peux voir PtrSafe de rajouté.

Je te joint le code saisi:

Private Sub Venise_Click()

Public DeclarePtrSafeFunction ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

ShellExecute 0, "", C:\Utilisateurs\hamel\Images\diaporama\ & "\" & VENISE, "", "", 0

End Sub

Remplace la déclaration par ceci :

#If Win64 Then
Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
#Else
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
#End If

et ajoute l'extension à VENISE ... pps ou ppsx ou ??

Pour info, je souhaite avoir un userform avec des boutons click afin d'ouvrir des diapos

bonjour à tous

pourquoi ?

sans VBA, utilise les liens hypertextes de Excel

c'est simple, rapide et fiable

si tu penses imiter des progiciels, dis-toi qu'aucun progiciel n'est fait avec Excel, et encore moins avec VBA

bon travail

amitiés excelliennes

Rechercher des sujets similaires à "ouvrir pps vba"