Dim t 'mémorise la variable
Sub Lancer_PPT()
Dim delai, PPT As Object, P As Object
delai = 1 'en minutes
On Error Resume Next
Application.OnTime t, "Lancer_PPT", , False 'RAZ
Set PPT = GetObject(, "PowerPoint.Application")
If PPT Is Nothing Then Set PPT = CreateObject("PowerPoint.Application")
PPT.Visible = False
If PPT.ActivePresentation Is Nothing Then
PPT.Presentations.Open ThisWorkbook.Path & "\Mon PPT.pptx"
Else
For Each P In PPT.Presentations
P.Save 'enregistre
Next
AppActivate Application.Caption
MsgBox "Toutes les presentations sont enregistrées", , "PowerPoint"
End If
PPT.Visible = True
AppActivate PPT.Caption
t = Now + delai / 1440
Application.OnTime t, "Lancer_PPT" 'relance le processus
End Sub