Public ppApplication As New clsEvents
Sub Auto_Open()
Set ppApplication.ppApp = Application
End Sub
Sub Auto_Close()
Set ppApplication.ppApp = Nothing
End Sub
Public WithEvents ppApp As Application
Private Sub ppApp_AfterNewPresentation(ByVal Pres As Presentation)
MsgBox "C'est l'évènement Nouvelle présentation"
End Sub
Private Sub ppApp_PresentationClose(ByVal Pres As Presentation)
MsgBox "C'est l'évènement Fermeture"
End Sub
Private Sub ppApp_PresentationNewSlide(ByVal Sld As Slide)
MsgBox "C'est l'évènement Nouvelle diapositive"
End Sub
Private Sub ppApp_PresentationOpen(ByVal Pres As Presentation)
MsgBox "C'est l'évènement Ouverture"
End Sub
Private Sub ppApp_SlideSelectionChanged(ByVal SldRange As SlideRange)
MsgBox "C'est l'évènement Sélection Change"
End Sub
Public ppApplication As New clsEvents
Sub Auto_Open()
Set ppApplication.ppApp = Application
End Sub
Sub Auto_Close()
Set ppApplication.ppApp = Nothing
End Sub
Public WithEvents ppApp As Application
Private Sub ppApp_WindowActivate(ByVal Pres As Presentation, ByVal Wn As DocumentWindow)
'### Les 2 lignes qui suivent servent à exclure tout autre PowerPoint non concerné
'### Adaptez la constante LE_BON_PPT du nom de la bonne présentation PowerPoint
'### Si on ne le fait pas n'importe quel PowerPoint verra apparaître la MsgBox
Const LE_BON_PPT As String = "noisy.pptm"
If Application.ActivePresentation.Name <> LE_BON_PPT Then Exit Sub
'###
Dim rep&
'---
rep& = MsgBox(Prompt:="Pour une création tapez OUI" & vbLf & _
"Pour une modification tapez NON", _
Buttons:=vbYesNo, _
Title:="Création ou Modification")
If rep& = vbYes Then
'/// le code pour une céation
'..... votre traitement
ElseIf rep& = vbNo Then
'/// le code pour une modification
'..... votre traitement
End If
End Sub
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="RibbonOnLoad">
</customUI>