Intégrer un message si ppt n'est pas ouvert

Résolu/Fermé
Melize - 29 avril 2019 à 11:38
 Melize - 29 avril 2019 à 15:58
Bonjour à tous !
Je débute en VBA, d'ailleurs je ne fais qu'adapter des codes existants (je ne développe pour ainsi dire jamais moi même). Du coup, je rencontre le problème suivant :
J'ai une macro qui fonctionne, qui extrait des éléments de mon fichier excel et crée un powerpoint avec. Elle ne fonctionne que si l'application powerpoint est ouverte sur l'ordinateur.
Je voudrais que, si l'application n'est pas ouverte, un message type MsgBox soit créé pour informer l'utilisateur.

J'ai essayé avec If [mavariable] is nothing then mais ça ne marche pas.
Des idées ?

Ci dessous ma macro

    Dim oPowerpoint As Object
    Set oPowerpoint = CreateObject("Powerpoint.application")
        
    Dim oDiaporama As Object
    Set oDiaporama = oPowerpoint.Presentations.Add
       
    idDiapo = 1
        
    For Each plage In Split(plages, "-")
        Dim oDiapositive As Object
        Set oDiapositive = oDiaporama.Slides.Add(Index:=idDiapo, Layout:=ppLayoutBlank)
  
        ActiveSheet.Range(plage).Copy
        Dim oTest As Object
        Set oTest = oDiaporama.Slides(idDiapo).Shapes.PasteSpecial(DataType:=ppPasteEnhancedMetafile)
        idDiapo = idDiapo + 1
 
    With oDiaporama.PageSetup
    oTest.Left = (.SlideWidth \ 2) - (oTest.Width \ 2)
    oTest.Top = (.SlideHeight \ 2) - (oTest.Height \ 2)
        End With
       Next
End Sub


Merci d'avance !!

2 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
29 avril 2019 à 11:44
Bonjour,

Tu peux le rendre visible lors de l'initialisation

Dim oPowerpoint As Object
    Set oPowerpoint = CreateObject("Powerpoint.application")
        oPowerpoint.Visible = True ' pour le rendre visible


1
Ca marche c'est parfait !
Merci beaucoup :D
0